springboot學習——@SpringBootApplication與@EnableAutoConfiguration、@ComponentScan註解

@EnableAutoConfiguration:這個註解是是Springboot根據我們所引入的jar包自動配置的,假設我們有自己的配置類則會覆蓋
—————————————————————————————————————————————————
@ComponentScan:是告訴springboot進行包掃描的(可以定義)
—————————————————————————————————————————————————
@Configuration用於定義配置類,可替換xml配置文件,被註解的類內部包含有一個或多個被@Bean註解的方法,這些方法將會被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext類進行掃描,並用於構建bean定義,初始化Spring容器。
—————————————————————————————————————————————————
@SpringBootApplication:註解等價於以默認屬性使用@Configuration,@EnableAutoConfiguration和@ComponentScan
—————————————————————————————————————————————————

官方文檔是這麼說的:
許多Spring Boot開發人員總是使用@Configuration,@EnableAutoConfiguration和@ComponentScan來標註它們的主類。 由於這些註解經常一起使用(特別是如果您遵循之前說的最佳實踐),Spring Boot提供了一個方便的@SpringBootApplication註解作爲這三個的替代方法。

@SpringBootApplication註解相當於使用@Configuration,@EnableAutoConfiguration和@ComponentScan和他們的默認屬性

package com.example.myproject;

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的屬性。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章