빈설정용 (자바코드로 등록할 빈을 설정)
@Configuration
* 클래스에 명시되며, 이 클래스는 스프링에서 클래스의 탈을 쓴 설정정보가 된다.
* 스프링의 빈팩토리(ApplicationContext)가 빈을 생성하고 관계설정하는데 이 클래스를 설정정보로 사용하도록 알려주자.
* xml 설정파일의 <beans> 라는 root element와 그 역할이 같다.
@Bean
* 메소드에 명시되며,
* 이 메소드는 스프링의 빈팩토리가 빈 객체를 생성하는데 사용된다.
* 메소드 이름이 곧 빈의 이름이 된다
* xml 설정파일의 <bean> element와 그 역할이 같다.
빈등록용 (스캐너에 의해 자동으로 등록)
@Component (@Controller, @Service, @Repository)
* 빈스캐너에 의해 빈으로 등록된다
@Qualifier
* 빈에 한정자를 지정한다
DI용 (관계주입용)
@Resource
* 이름으로 주입한다
* 필드와 수정자에 기입하여 사용할 수 있다.
* DI할 후보 빈이 없는 경우 에러난다.
@Autowired
* 타입으로 주입한다
* 필드와 수정자 그리고 생성자, 일반메소드에까지 기입하여 사용할 수 있다.
* DI할 후보 빈이 없는 경우 에러난다.
@Qualifier
* 주입할 빈의 후보가 여럿일 경우, 주입할 빈을 선택하는데 특정 한정자를 조건으로 사용한다
* 타입으로 빈을 주입하는 @Autowired 어노테이션과 함께 기입하여 사용된다
'아는 만큼 보인다 > Spring Framework' 카테고리의 다른 글
서비스 추상화 그리고 DI (Dependency Injection) (0) | 2012.06.06 |
---|---|
JdbcTemplate (쓰기 편한 database 접속 api) (0) | 2012.05.23 |
DI Container = ApplicationContext의 또 다른 이름.. (0) | 2012.05.07 |
Singleton Registry = ApplicationContext의 또 다른 이름 (0) | 2012.05.04 |
IoC (Inversion of Control) (0) | 2012.05.03 |