Spring Boot 參考指南(使用@SpringBootApplication註解)

18. 使用@SpringBootApplication註解

許多Spring Boot開發人員喜歡他們的應用程序使用自動配置、組件掃描,並可以在他們的「應用程序類」上定義額外的配置,能夠使用一個@SpringBootApplication註解來啓用這三個特性:spring

  • @EnableAutoConfiguration:啓用Spring Boot的自動配置機制
  • @ComponentScan:在應用程序所在的包上啓用@Component掃描(參見最佳實踐
  • @Configuration:容許在上下文中註冊額外的bean或導入額外的配置類

@SpringBootApplication註解與使用@Configuration@EnableAutoConfiguration@ComponentScan的默認屬性等效,以下例所示:segmentfault

package com.example.myapplication;

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

@SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {

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

}
@SpringBootApplication還提供別名來定製 @EnableAutoConfiguration和@ComponentScan的屬性。
這些特性都不是強制性的,你能夠選擇用它所支持的任何特性來替換這個註解,例如,你可能不想在應用程序中使用組件掃描:
package com.example.myapplication;

import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ComponentScan
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

@Configuration
@EnableAutoConfiguration
@Import({ MyConfig.class, MyAnotherConfig.class })
public class Application {

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

}

在本例中,Application和其餘Spring Boot應用程序同樣,只是沒有自動檢測到@component - 註解類,而用戶定義的bean是顯式導入的(參見@Import)。app


上一篇:Spring bean和依賴項注入

下一篇:運行你的應用程序

相關文章
相關標籤/搜索