욱'S 노트

Spring - Java-based container configuration 본문

Programming/Spring

Spring - Java-based container configuration

devsun 2015. 5. 19. 14:27

스프링의 새로운 자바기반 설정에서는 @Configuration 어노테이션 클래스와 @Bean 어노테이션 메소드를 지원한다.


@Bean 어노테이션은 메소드 초기화를 위해 지정되고, 스프링 IOC 컨테이너에의해 관리되는 새로운 오브젝트를 설정하거나 초기화하기 위해 사용된다.


스프링 XML 설정에 친숙하다면 @Bean 어노테이션은 <bean> 엘레먼트와 같은 역할을 수행한다고 보면 된다. @Bean 어노테이션은 스프링 모든 @Componet에 나타날 수 있지만, 주로 @Configuration에 빈정의를 위해서 사용된다.


@Configuration으로 클래스를 지정했다는 것은 해당 소스의 주요 목적이 빈 정의라는 것을 의미한다. 더욱이 @Configuration 클래스는 같은 클래스의 @Bean 메소드에서 간단하게 호출하므로서 빈간의 디펜던시를 적용할 수 있다. @Configuration의 가장 간단한 예이다.


@Configuration

public class AppConfig {

@Bean

   public MyService myService() { 

      return new MyServiceImpl();

   } 

}


위의 Java Config 클래스는 아래와 같은 XML 정의와 의미가 동일하다.


<beans>

<bean id="myService" class="com.acme.services.MyServiceImpl"/>

</beans>



 


Comments