Parameter

SeungJoo
|2023. 11. 28. 22:16
728x90

Parameter

메서드나 함수 등에서 사용되는 인자를 받는 변수를 가리킵니다. 함수를 호출할 때 매개변수를 지정하면, 해당 함수가 실행될 때 그 값을 받아들여 사용할 수 있습니다.

인자(Parameter)

함수나 메서드를 호출할 때 전달되는 값을 가리킵니다. 함수 정의에서 매개변수로 받은 값을 의미합니다.

인자 목록(Argument List)

함수를 호출할 때 전달되는 실제 값들의 목록입니다. 이 값들이 함수에 정의된 매개변수에 대응됩니다.

컨트롤러의 메소드 매개변수

HTTP 요청에서 받은 데이터나 쿼리 파라미터를 처리하기 위해 @RequestParam, @PathVariable, @RequestBody 등의 어노테이션을 이용하여 매개변수를 정의합니다.

@RestController
public class MyController {

    @GetMapping("/hello/{name}")
    public String hello(@PathVariable String name, @RequestParam String greeting) {
        return greeting + ", " + name + "!";
    }
}

@PathVariable과 @RequestParam을 이용하여 HTTP 요청의 경로 변수와 쿼리 파라미터를 매개변수로 받아 처리합니다.

의존성 주입 (DI)

스프링은 @Autowired, @Qualifier, @Value 등의 어노테이션을 이용하여 매개변수를 통해 Bean을 주입하여 사용합니다.

@Service
public class MyService {

    private final MyRepository repository;

    @Autowired
    public MyService(MyRepository repository) {
        this.repository = repository;
    }
}

MyRepository 를 MyService의 생성자 매개변수로 주입하여 의존성 관리합니다.

AOP

Adivice를 제공하는 메서드의 매개변수로 조인 포인트 정보나 다양한 정보들을 받아 활용할 수 있습니다.

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;

@Aspect
@Component
public class LoggingAspect {

    @Before("execution(* com.example.MyService.*(..))")
    public void beforeMyServiceMethods() {
        System.out.println("Logging before MyService method execution...");
    }
}

MyService 클래스의 메소드들이 실행되기 전에 로깅을 출력하는 역할을 합니다.

728x90

'Spring(Boot & FrameWork)' 카테고리의 다른 글

AOP  (0) 2023.11.30
RequestParam  (1) 2023.11.27
서블릿 컨테이너  (0) 2023.11.20