Whiteship's Note

'애노테이션을 활용한 DI'에 해당되는 글 1건

  1. 2007.07.30 3.10. Annotation-based configuration

3.10. Annotation-based configuration

Spring/Chapter 3 : 2007.07.30 20:06


Spring 2.0에서 필수 속성을 강제할 수 있었던 @Required 애노테이션과 같이, Spring 2.1에는 종속성을 주입할 수 있는 @Autowired 애노테이션을 비롯하여 JSP-250 표준에 따르는 @Resource, @PostConstruct, 그리고 @PreDestroy 애노테이션이 추가되었습니다. (물론 JDK 5.0 이상을 사용해야합니다.)

이러한 애노테이션이 붙은 빈들을 별도의 처리가 필요하고, 그러한 일들을 담당하는 녀석이 BeanPostProcessor였습니다. 따라서 @Autowired 애노테이션이 붙어있는 Bean의 속성을 종속성 주입할 BeanPostProcessor를 등록해야 합니다. 그리고 또 다른 애노테이션에 대한 작업을 할 BeanPostProcessor도 등록해야 하죠. 하지만 이렇게 여러 BeanPostProcessor를 등록하는 대신 간단한 태그 한 줄이면 이런 Bean들이 등록 되도록 하는 네임스페이스가 있으니 그것을 사용하면 됩니다.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.1.xsd">
              
    <context:annotation-config/>
    
</beans>

저 한 줄이면 AutowiredAnnotationBeanPostProcessor, CommonAnnotationBeanPostProcessor, RequiredAnnotationBeanPostProcessor 이 세개의 BeanPostProcessor를 빈으로 등록한 것과 같은 것입니다.
top

Write a comment.