@SpringBootApplication
클래스를 Spring Boot 애플리케이션의 기본 애플리케이션 클래스로 식별하는 데 사용되는 Spring Boot의 주요 주석입니다. 이 기사에서는 @SpringBootApplication
Spring Boot 애플리케이션에서 주석과 해당 역할을 자세히 설명합니다.
@SpringBootApplication
주석의 역할
@SpringBootApplication
주석은 다음 세 가지 중요한 주석을 포함하는 Spring Boot의 복합 주석입니다.
@SpringBootConfiguration
: 이 클래스가 구성 클래스임을 나타내는 Spring Boot 관련 주석입니다.@Configuration
실제로 는 이 클래스에 구성 정보가 포함되어 있으며 Spring 컨테이너에서 검색하고 로드할 수 있음을 나타내는 특정 버전의 입니다 .@EnableAutoConfiguration
: Spring Boot의 자동 구성 주석입니다. 이는 프로젝트의 종속성 및 구성을 기반으로 애플리케이션을 자동으로 구성하는 Spring Boot의 자동 구성 메커니즘을 활성화합니다.@ComponentScan
: 이것은 Spring이 관리하는 구성 요소(예: 컨트롤러, 서비스, 저장소 등)를 찾기 위해 지정된 패키지와 해당 하위 패키지를 스캔하도록 Spring에 지시하는 데 사용되는 Spring의 스캐닝 주석입니다. 기본적으로 기본 애플리케이션 클래스가 있는 패키지와 해당 하위 패키지를 검사합니다.
따라서 @SpringBootApplication
주석의 주요 역할은 클래스를 Spring Boot 애플리케이션의 진입점으로 식별하고 Spring Boot의 자동 구성 및 구성 요소 검색 기능을 활성화하는 것입니다. 일반적으로 기본 애플리케이션 클래스에 있습니다. 예를 들면 다음과 같습니다.
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
이 예에서 MyApplication
클래스는 Spring Boot 애플리케이션의 기본 클래스로, @SpringBootApplication
주석을 통해 Spring Boot 기능과 성능을 갖습니다.
맞춤 구성
주석에는 일부 기본 동작이 포함되어 있지만 @SpringBootApplication
프로젝트의 필요에 따라 계속 사용자 정의할 수 있습니다. 기본 애플리케이션 클래스에 추가 주석이나 속성을 추가하여 애플리케이션의 동작을 사용자 지정할 수 있습니다. 예를 들어 다음과 같은 방법으로 애플리케이션 구성을 사용자 정의할 수 있습니다.
@Configuration
추가 Bean을 정의하려면 주석을 추가하세요 .
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
@Bean
public MyBean myBean() {
return new MyBean();
}
}
application.properties
또는 파일을 수정하여application.yml
애플리케이션의 속성 구성을 사용자 정의합니다.
# application.yml 配置示例
myapp:
name: My Custom App
// 使用配置属性
@Service
public class MyService {
@Value("${
myapp.name}")
private String appName;
// ...
}
@EnableCaching
캐싱 활성화 또는@EnableScheduling
예약된 작업 활성화와 같은 다양한 기능을 사용자 정의하려면 다른 Spring 주석을 추가하세요 .
@SpringBootApplication
@EnableCaching
@EnableScheduling
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
요약하면 @SpringBootApplication
주석은 Spring Boot 애플리케이션의 진입점이며 자동 구성 및 구성 요소 검색을 활성화합니다. 기본 애플리케이션 클래스에 추가 주석 및 구성을 추가하면 프로젝트 요구 사항에 맞게 애플리케이션의 동작을 유연하게 사용자 지정할 수 있습니다. 이로 인해 Spring Boot는 강력하고 유연한 애플리케이션을 구축하는 데 이상적입니다.