Using Java Configuration
원문 : Chapter 7. Using Java Configuration
애플리케이션에서 애노테이션을 설정 파일로 사용할 수 있는 방법으로 다음과 같은 클래스가 있다.
* AnnotationApplicationContext
이 클래스는 Ant 스타일 패턴을 사용하여 애노테이션을 사용한 설정 클래스 이름을 받을 수 있다.
ApplicationContext oneConfig =
new AnnotationApplicationContext(SimpleConfiguration.class.getName());
ApplicationContext aBunchOfConfigs =
new AnnotationApplicationContext("**/configuration/*Configuration.class");
이 애플리케이션 컨텍스트는 주어진 패턴에 매칭되는 클래스 패스 내의 클래스들을 자동으로 읽어들이고 빈으로 등록한다. 이 방법의 단점은 설정 객체를 parameterization 할 수 없다는 것이다.
* Configuration post processor
<beans>
<!-- Spring configuration -->
<bean class="org.springframework.samples.petclinic.JdbcConfiguration"/>
<!-- Java Configuration post processor -->
<bean class="org.springframework.config.java.process.ConfigurationPostProcessor"/>
</beans>
두 번째 방법은 설정 처리 뿐만 아리나 (ConfigurationPostProcessor를 통해서) 설정 객체 자체도 제어 하기 때문에 보다 많은 설정 옵셥을 제공한다.
설정을 빈으로 정의함으로써, Spring 컨테이너는 설정을 (속성 또는 특정 생성자를 사용해서)설정할 수 있다.
<beans>
<!-- a possible configurable configuration -->
<bean class="org.my.company.config.AppConfiguration">
<property name="env" value="TESTING"/>
<property name="monitoring" value="true"/>
<property name="certificates" value="classpath:/META-INF/config/MyCompany.certs"/>
</bean>
<!-- Java Configuration post processor -->
<bean class="org.springframework.config.java.process.ConfigurationPostProcessor"/>
</beans>