Published 2021. 5. 9. 03:16

@Autowired

생성자에 @Autowired를 지정하면, 스프링 컨테이너가 자동으로 해당 스프링 빈을 찾아서 주입한다.

기본적으로 타입이 같은 빈을 등록한다

 getBean(Repository.class)와 동일하다고 이해하면 된다.

 

 

의존관계 주입

1. 생성자 주입.
2. 수정자주입(setter).
3. 필드주입.
4. 일반 메서드 주입.


ㄱ. 생성자 주입.
-생성자 호출시점에 딱 1번만 호출하는 것이 보장된다
-불변, 필수 의존관계에 사용.

생성자가 딱 1개만 있으면 Autowired 생략가능

ㄴ. 수정자 주입.
-수정,변경 가능성이 있는 의존관계에 사용[선택적]
-자바빈 프로퍼티 규약의 수정자 메서드 방식을 사용하는 방법
 (필드 접근시 SET,GET)
->>> 중간에 DB변경 같은,,,?

ㄷ. 필드주입

-권장하지 않음. 스프링이 없으면 값 변경이 불가능하다. 테스트가 어려움.

ㄹ. 일반메서드 주입.

-아무 메서드에다가 Autowired 가능. 잘 안씀, 생성자 수정자로 하면 다 해결되니까

'스프링' 카테고리의 다른 글

프로토 타입 스코프  (0) 2021.05.15
빈 스코프  (0) 2021.05.15
컴포넌트의 검색 범위  (0) 2021.05.09
@ComponentScan 컴포넌트 스캔  (0) 2021.05.09
@Configuration , 그리고 싱글톤  (0) 2021.05.08
복사했습니다!