Spring
의존 객체 자동 주입
정숙씨의 쏠쏠한 코딩
2021. 11. 1. 16:51
스프링 설정 파일에서 의존 객체를 투입할때 <constructor-org> 또는 <property>태그로 의존 대상 객체를 명시하지 않아도
스프링 컨테이너가 자동으로 필요한 의존 대상 객체를 찾아서 의존 대상 객체가 필요한 객체에 주입 해 주는 기능이다.
구현 방법은 @Autowired와 @Resource 어노테이션을 이용해서 쉽게 구현 할 수 있다.
- @Autowired
- 주입 하려고 하는 객체의 타입이 일치 하는 객체를 자동으로 주입한다.
- @Resource
- 주입 하려고 하는 객체의 이름이 일치 하는 객체를 자동으로 주입한다.
- 생성자에는 사용 할 수 없으며 메소드나 프로퍼티에만 사용 가능하다.
- @Autowired와 @Resource 같은 경우 디폴트 생성자는 필수로 사용 해주어야 한다.
의존 객체 자동주입 사용 방법은 Xml 파일 내 Context 관련된 스키마 추가와 <Context : annotiation - Config />를 추가 해주어야 한다.
사용할 생성자 또는 메소드에 @Autowired를 걸어줄경우 의존성 자동 주입이 진행된다.
생성자외에 프로퍼티 또는 메소드에도 @Autowired 의존성 자동 주입을 사용할수있다.
사용 할 경우 디폴트 생성자를 명시 해주어야 한다.
디폴트 생성자 없이 프로퍼티나 메소드에 @Autowired에 의존성 자동 주입 사용시 에러가 발생하게 된다.