웹 프로그래밍/스프링

의존관계 자동 주입

YoshiaLee 2023. 2. 17. 03:18

다양한 의존관계 주입 방법

생성자 주입 

-생성자 호출시점에 1번만 호출되는것이 보장

-불변, 필수(private final)

 

수정자 주입

-setter 주입

-선택 e.g. @Autowired(require = false)

-변경 가능성이 있는 의존관계에 사용

 

필드 주입

-필드앞 에다가 @Autowired 를 직접함

-안티 패턴: 외부에서 변경이 불가능해서 테스트 어려움(쓰지 말것)

 

일반 메서드 주입

- 일반 메서드를 통해서 주입(setter와 유사)

- 잘사용하지 않음

 

@Autowired는 스프링 컨테이너에 등록된 스프링 빈만 가능한 기능임