@EnableAutoConfiguration

Yuno·2024년 8월 14일
0

Spring Boot 에서 자동 구성(auto-configuration) 을 활성화 하는데 사용됨. Spring Boot 는 애플리케이션의 설정을 자동으로 구성하고, 개발자가 명시적으로 설정하지 않은 많은 기본 설정을 제공하여 신속한 개발을 지원함.
이 어노테이션은 @Configuration 어노테이션을 포함하고 있으며, @ComponentScan 과 함께 작동하여 Spring Boot 애플리케이션의 설정을 자동으로 조정


👉 주요 개념

  • 자동 구성 : Spring Boot 는 클래스패스에 있는 다양한 라이브러리 및 구성 요소를 감지하여 애플리케이션의 기본 설정을 자동으로 구성. 예를들어, spring-boot-starter-data-jpa 를 포함하면, Spring Boot 는 JPA와 관련된 기본적인 데이터베이스 설정을 자동으로 구성
  • Spring Boot의 핵심 기능 : @EnableAutoConfiguration 은 Spring Boot 애플리케이션의 핵심 기능중 하나로, 애플리케이션의 환경에 따라 필요한 빈을 자동으로 생성하고 설정함.

💻 사용법

@EnableAutoConfiguration 은 보통 @SpringBootApplication 어노테이션에 포함되어 사용됨
@SpringBootApplication 은 내부적으로 @EnableAutoConfiguration 을 포함하고 있기 때문에, 별도로 선언할 필요는 없음

import org.springframework.boot.SpringApplication;
import org.springframewirk.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MySpringBootApplication {
	public static void main(String[] args) {
    	SpringApplication.run(MySpringBootApplication.class, args);
    }
}

@SpringBootApplication@EnableAutoConfiguration, @Configuration, @ComponentScan 을 포함하고 있음

특정 구성만 활성화 하기

자동 구성의 특정 부분만을 활성화하거나 비활성화하려면 exclude 속성을 사용할 수 있음

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication(exclued = {DataSourceAutoConfiguration.class})
public class MySpringBootApplication {
	public static void main(String[] args) {
    	SpringApplication.run(MySpringBootApplication.class, args);
    }
}

데이터 소스 자동 구성을 비활성화

조건부 자동 구성

@EnableAutoConfiguration 은 조건부 자동 구성을 지원함.
@ConditionalOnClass, @ConditionalOnMissingBean, @ConditionalOnProperty 등의 조건부 어노테이션을 사용하여 특정 조건에 따라 자동 구성을 적용

프롬퍼티 파일을 통한 설정

자동 구성은 application.properties 또는 application.yml 파일을 통해 조정할 수 있음. 예를들어, 데이터베이스의 접속 정보를 설정할 수 있음

spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=password
profile
Hello World

0개의 댓글