@Configuration

Yuno·2024년 8월 14일
0

👉 @Configuration 어노테이션

📌 역할

  1. 설정 클래스 지정
  • @Configuration 어노테이션이 붙은 클래스는 Spring의 애플리케이션 컨텍스트에 의해 빈 정의를 위한 설정 클래스로 인식됨.
    이 클래스는 Spring Bean 을 정의하고 설정하기 위해 사용됨
  1. Bean 등록
  • 이 클래스 내에 정의된 @Bean 메서드를 통해 Spring IoC 컨테이너에 빈을 등록할 수 있음.
    @Bean 어노테이션이 붙은 메서드는 Spring에 의해 호출되어 반환된 객체가 애플리케이션 컨텍스트에 빈으로 등록됨
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class AppConfig {
	
    @Bean
    public MyService myService() {
    	return new MyService();
    }
    
    @Bean
    public AnotherService anotherService() {
    	return new AnotherService();
    }
}

AppConfig 클래스는 @Configuration 어노테이션이 붙어 있으며, 두 개의 빈 myServiceanotherService 를 정의하고 있음. 이 빈들은 Spring IoC 컨테이너에 의해 관리됨


❗️ 주요 포인트

  1. 싱글턴 빈
  • 기본적으로 @Bean 메서드로 생성된 빈은 싱글턴임.
    즉, 애플리케이션 컨텍스트 내에서 한 번만 생성되고 공유됨
  1. 애플리케이션 컨텍스트
  • @Configuration 클래스는 Spring의 애플리케이션 컨텍스트에 의해 관리되며, 애플리케이션의 설정 및 관리에 필요한 정보를 제공
  1. 기타 어노테이션
  • @Configuration 클래스는 종종 @ComponentScan, @EnableAutoConfiguration, @PropertySource 등 다른 설정 관련 어노테이션과 함께 사용되어, 설정을 보다 구체적으로 조정할 수 있음.
  1. 환경설정
  • 환경에 따라 다양한 설정을 제공할 수 있으며, 프로파일에 따라 다른 설정을 제공하는 것도 가능함.
    예를들어 @Profile 어노테이션을 사용하여 특정 환경에서만 활성화되는 빈을 정의할 수 있음
profile
Hello World

0개의 댓글