1. 程式人生 > 其它 >SpringBoot 官方文件中文版 - 6. 使用 @SpringBootApplication 註解

SpringBoot 官方文件中文版 - 6. 使用 @SpringBootApplication 註解

前言

這是 SpringBoot 官方文件中文翻譯版系列的第六篇文章:

前五篇文章如下:

SpringBoot 官方文件中文版 - 1. 入門指南

SpringBoot 官方文件中文版 - 2. 構建系統

SpringBoot 官方文件中文版 - 3. 構建你的程式碼

SpringBoot 官方文件中文版 - 4. 配置類與自動化配置

SpringBoot 官方文件中文版 - 5. Spring Beans 和 DI

使用 @SpringBootApplication 註解

許多 Spring Boot 開發人員希望他們的應用使用自動配置,元件掃描,並能夠在他們的“應用程式類”上定義額外的配置。可以使用一個 @SpringBootApplication 註釋來啟用這三個特性,即:

  • @EnableAutoConfiguration: 啟用 Spring Boot 的自動配置機制

  • @ComponentScan: 啟用 @Component 掃描應用程式所在的包。

  • @SpringBootConfiguration:允許在上下文中註冊額外的 bean 或匯入額外的配置類,註解 @Configuration 的一個替代方案,它有助於整合測試中的配置檢測。

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

@SpringBootApplication // same as @SpringBootConfiguration @EnableAutoConfiguration
                        // @ComponentScan
public class MyApplication {

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

}

@SpringBootApplication 還提供了別名來定製 @EnableAutoConfiguration 和 @ComponentScan 的屬性.

這些特性都不是強制性的,您可以選擇用它所啟用的任何特性替換這個單一註釋。例如,您可能不希望在應用程式中使用元件掃描或配置屬性掃描:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Import;

@SpringBootConfiguration(proxyBeanMethods = false)
@EnableAutoConfiguration
@Import({ SomeConfiguration.class, AnotherConfiguration.class })
public class MyApplication {

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

}

在本例中,MyApplication 與任何其他 Spring Boot 應用程式一樣,只是沒有自動檢測 @component 註釋的類和 @configurationproperties 註釋的類,並且顯式地匯入使用者定義的 bean(請參閱@Import)。

每天學習一點點,每天進步一點點。