Spring Framework의 핵심: @Bean과 @Configuration 이해하기
KUKJIN LEE • 6개월 전 작성
설명
Spring Framework에서 @Bean
과 @Configuration
은 스프링의 핵심 어노테이션 중 일부로, 스프링의 의존성 주입(Dependency Injection) 기능과 관련 있습니다. 이들은 스프링 애플리케이션 컨텍스트에서 빈(Bean)의 생성과 관리, 그리고 설정을 위해 사용됩니다.
-
@Bean: 스프링 컨테이너에 의해 관리되는 객체(빈)를 생성하고 등록하기 위해 사용되는 어노테이션입니다. 이는 메서드 레벨에서 사용됩니다.
-
@Configuration: 해당 클래스가 스프링의 설정 정보를 담고 있으며,
@Bean
어노테이션을 포함한 메서드로부터 생성된 빈들을 스프링 컨테이너에 등록하기 위한 클래스임을 나타내는 어노테이션입니다. 이는 클래스 레벨에서 사용됩니다.
@Bean
public MyBean myBean() {
return new MyBean();
}
위 예시에서 myBean
메서드는 MyBean
타입의 인스턴스를 생성하고, 이 인스턴스는 스프링 컨테이너에 의해 관리되는 빈으로 등록됩니다. 이렇게 등록된 빈은 애플리케이션 전역에서 주입하여 사용할 수 있습니다.
@Configuration
public class AppConfig {
@Bean
public MyBean myBean() {
return new MyBean();
}
}
위 예시에서 AppConfig
클래스는 스프링 설정 클래스로, 내부에 정의된 myBean
메서드로부터 생성된 MyBean
인스턴스를 스프링 컨테이너에 빈으로 등록합니다.