더북(TheBook)

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;
    }
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.