2.4.3 애너테이션을 사용한 스프링 구성
스프링 3.0 버전부터 스프링 기반 애플리케이션을 개발할 때 더 이상 XML 구성 파일을 사용하지 않아도 됩니다. 애너테이션과 구성 클래스를 사용하면 XML 구성 파일을 대체할 수 있습니다. 구성 클래스는 빈 정의 내용을 담고 있는 @Configuration 애너테이션이 붙은 클래스이거나 @ComponentScan 애너테이션을 붙여 애플리케이션 내의 빈 정의를 스스로 찾는 클래스입니다. 다음은 앞 예제의 app-context.xml 파일과 동일한 코드를 보여줍니다.
예제 2-15 애너테이션 기반 스프링 구성 클래스([[hello-world]] HelloWorldConfiguration.java)
package com.apress.prospring5.ch2.annotated; import com.apress.prospring5.ch2.decoupled.HelloWorldMessageProvider; import com.apress.prospring5.ch2.decoupled.MessageProvider; import com.apress.prospring5.ch2.decoupled.MessageRenderer; import com.apress.prospring5.ch2.decoupled.StandardOutMessageRenderer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class HelloWorldConfiguration { // <bean id="provider" class=".."/> 구성과 동등함 @Bean public MessageProvider provider() { return new HelloWorldMessageProvider(); } // <bean id="renderer" class=".."/> 구성과 동등함 @Bean public MessageRenderer renderer(){ MessageRenderer renderer = new StandardOutMessageRenderer(); renderer.setMessageProvider(provider()); return renderer; } }