@Configuration이란?
@Configuration은 스프링의 주요 어노테이션 중 하나로, 클래스가 스프링의 빈 정의를 포함하는 설정 클래스임을 나타냅니다. 설정 클래스는 애플리케이션의 전체 설정이나 특정 부분의 설정을 포함하며, @Bean 어노테이션이 붙은 메서드를 사용하여 빈을 정의하고 생성합니다. @Configuration 어노테이션을 사용하면, 스프링 컨테이너가 해당 클래스의 인스턴스를 생성하고 관리할 수 있습니다.
@Configuration 예제
package com.example.demo;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyService(myRepository());
}
@Bean
public MyRepository myRepository() {
return new MyRepository();
}
}
위 예제에서 AppConfig 클래스는 애플리케이션의 설정을 포함하는 클래스로서 @Configuration 어노테이션이 붙어 있습니다. 이 클래스는 myService()와 myRepository()라는 두 개의 메서드를 포함하며, 각각 @Bean 어노테이션으로 스프링 빈을 정의하고 생성합니다. myService() 메서드는 MyService 인스턴스를 생성하고, 이때 생성자 인자로 myRepository() 메서드에서 생성한 MyRepository 인스턴스를 전달합니다.
@Configuration을 사용하여 애플리케이션의 설정을 분리하면, 코드의 모듈화 및 재사용성이 향상되며, 테스트하기도 쉬워집니다. @Configuration은 보통 애플리케이션 전체 설정이나 특정 모듈의 설정을 관리하는 데 사용됩니다.
'Spring' 카테고리의 다른 글
스프링에서 @RequestMapping 어노테이션을 메서드 위에 선언하는 것과 클래스위에 선언하는 것의 차이 (0) | 2023.04.19 |
---|---|
Spring Annotation 13. @Bean (0) | 2023.04.19 |
Spring Annotation 11. @Repository (0) | 2023.04.19 |
Spring Annotation 10. @Service (0) | 2023.04.19 |
Spring Annotation 9. @Component (0) | 2023.04.19 |
댓글