Spring Annotation
Annotation
@Requried : 필수 프로퍼티 검사를 위한 용도로 활용됨.
- RequiredAnnotationBeanPostProcessor
@AutoWired : 의존 관계를 자동으로 설정할 때 사용되는 기능이며, 생성자, 필드, 메서드의 3곳에 적용 가능함. 의존관계는 Bean간의 의존관계로 생각하면 됨.
- AutoworedAnnotationBeanPostProcessor
@Resource : java 6 및 jee5 버전에 추가된 어노테이션 기능으로 어플리케이션에서 필요로 하는 자원을 자동으로 연결할 때 사용함. AutoWired와 유사함. 하지만 어노테이션 뒤에 name 속성이 들어감.
- CommonAnnotationBeanPostProcessor
ex) @Resource(name="hello")
리소스 어노테이션을 사용하기 위해서는 CommonAnnotationBeanPostProcesser을 등록하거나 <context:annotation-config>를 사용하면 됨.
※ AutoWired와 Resource의 차이점
- AutoWired는 Spring Framework에서 지원하는 Dependency 정의 용도의 annotation으로, 스프링에 종속적이긴하지만 정밀한 Dependency Injection이 필요한 경우에 유요함.
- Resource는 JSR-250 표준 annotation으로 스프링2.5 이상부터 지원 가능한 annotation임. annotation으로 인해 특정 프레임워크에 종속적인 어플리케이션을 구성하지 않기 위해서 @Resource를 사용함. 사용하기 위해서는 클래스패스 내에 jsr250-api.jar 파일이 추가되어야 함.
@Repository 스프링 2.0부터 제공함.
- 스프링 2.5부터 아래의 어노테이션 추가됨.
@Component
@Service - 비지니스로직을 처리하는 클래스에 적용함
@Contorller - 요청을 처리하는 부분에 적용함