1. 程式人生 > 實用技巧 >[轉] 詳解Spring boot啟動原理

[轉] 詳解Spring boot啟動原理

作者:平凡希
原文:https://www.cnblogs.com/xiaoxi/p/7999885.html

  我們開發任何一個Spring Boot專案,都會用到如下的啟動類

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

  從上面程式碼可以看出,Annotation定義(@SpringBootApplication)和類定義(SpringApplication.run

)最為耀眼,所以要揭開SpringBoot的神祕面紗,我們要從這兩位開始就可以了。

1. SpringBootApplication背後的祕密

  @SpringBootApplication註解是Spring Boot的核心註解,它其實是一個組合註解:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
        @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
        @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
...
}