본문 바로가기

아는 만큼 보인다/Spring Framework

Annotations

빈설정용 (자바코드로 등록할 빈을 설정)

@Configuration
* 클래스에 명시되며, 이 클래스는 스프링에서 클래스의 탈을 쓴 설정정보가 된다.
* 스프링의 빈팩토리(ApplicationContext)가 빈을 생성하고 관계설정하는데 이 클래스를 설정정보로 사용하도록 알려주자.
* xml 설정파일의 <beans> 라는 root element와 그 역할이 같다.


@Bean
* 메소드에 명시되며,
* 이 메소드는 스프링의 빈팩토리가 빈 객체를 생성하는데 사용된다.
* 메소드 이름이 곧 빈의 이름이 된다
* xml 설정파일의 <bean> element와 그 역할이 같다.

 

빈등록용 (스캐너에 의해 자동으로 등록)

@Component (@Controller, @Service, @Repository)
* 빈스캐너에 의해 빈으로 등록된다

@Qualifier
* 빈에 한정자를 지정한다

 

DI용 (관계주입용)

@Resource
* 이름으로 주입한다
* 필드와 수정자에 기입하여 사용할 수 있다.
* DI할 후보 빈이 없는 경우 에러난다.

@Autowired
* 타입으로 주입한다
* 필드와 수정자 그리고 생성자, 일반메소드에까지 기입하여 사용할 수 있다.
* DI할 후보 빈이 없는 경우 에러난다.

@Qualifier
* 주입할 빈의 후보가 여럿일 경우, 주입할 빈을 선택하는데 특정 한정자를 조건으로 사용한다
* 타입으로 빈을 주입하는 @Autowired 어노테이션과 함께 기입하여 사용된다