1.생성자 주입
-생성시점 단 한번 호출 되는 것이 보장
-불변, 필수 의존관계에 사용
-컴파일 시점에 어떤 문제가 있는지 파악하기 쉬움
2.수정자 주입 (setter에다 @autowired)
- 선택 , 변경 가능성이 있는 의존관계에 사용
3.필드 주입
-변수 자체에 @autowired
-하지만 권장 되지 않는 안티 패턴 -> 테스트시 주입 대상 변경 불가.
-Di 프레임워크가 없으면 아무것도 할 수 없다.
4.일반 메서드 주입
-한번에 여러필드를 주입 받을 수 있다.
**tip
생성자가 단 하나인 component의 경우 자동으로 @autowired된다. 당연하게 스프링 빈 한정이다.!!
@autowired-> 객체의 주입이 필요한 대상임을 표시
@autowired 의 기본동작은 주입 할 대상이 없으면 오류를 발생시킨다. -> @Autowired(required= false)로 주면 해결 할 수 있다.
의존관계 자동 주입은 스프링 컨테이너가 관리하는 스프링 빈이어야 동작한다.
'스프링 핵심 원리' 카테고리의 다른 글
@Autowired 다양한 옵션들 (0) | 2021.11.01 |
---|---|
스프링 라이프 사이클 (싱글톤) (0) | 2021.11.01 |
[Spring] 어노테이션 (0) | 2021.11.01 |
[Spring] 싱글톤 (0) | 2021.10.04 |
[Spring] IoC 와 DI (0) | 2021.10.03 |