@RequiredArgsConstructor를 통한 의존성 주입
@RequiredArgsConstructor란
@NonNull
이나 final
이 붙은 필드에 대한 생성자를 생성한다.
-
DI 활용
Bean의 생성자가 단 하나이며, 생성자의 파라미터 타입이 Bean Container에 등록되어있다면, 이 Bean은
@Autowired
없이 의존성 주입이 가능하다.특히 의존성이 많아지는 경우
@RequiredArgsConstructor
로 간결한 Constructor Injection을 할 수 있다./** @RequiredArgsConstructor 미사용 */ @Controller public class AAAController { private final AAAService aaaService; private final BBBService bbbService; private final CCCService cccService; public AAAController(AAAService aaaService, BBBService bbbService, CCCService cccService) { this.aaaService = aaaService; this.bbbService = bbbService; this.cccService = cccService; } } /** @RequiredArgsConstructor 사용 */ @Controller @RequiredArgsConstructor public class AAAController { private final AAAService aaaService; private final BBBService bbbService; private final CCCService cccService; }
-
참고
@Value
값을 주입 받으려는 경우 Bean을 주입하려는 현상이 나타날 수 있다.
Leave a comment