@EnableAutoConfiguration和@SpringbootApplication注解


一、@EnableAutoConfiguration

這個注釋告訴SpringBoot"猜"你將如何想配置Spring,基於你已經添加jar依賴項。如果spring-boot-starter-web已經添加Tomcat和Spring MVC,這個注釋自動將假設您正在開發一個web應用程序並添加相應的spring設置。

自動配置被設計用來和“Starters”一起更好的工作,但這兩個概念並不直接相關。您可以自由挑選starter依賴項以外的jar包,springboot仍將盡力自動配置您的應用程序。

spring通常建議我們將main方法所在的類放到一個root包下,@EnableAutoConfiguration(開啟自動配置)注解通常都放到main所在類的上面,下面是一個典型的結構布局:

com
 +- example
     +- myproject
         +- Application.java
         |
         +- bean
         |   +- Customer.java
         |
         +- service
         |   +- CustomerService.java
         |
         +- web
             +- CustomerController.java

使用@EnableAutoConfiguration注解時,必須得配置@ComponentScan(basePackages = "com.example.web, com.example.service"),才能掃描service及web下的類,並進行調用。

 

二、@SpringBootApplication

使用@SpringbootApplication注解 ,可以解決根類或者配置類(我自己的說法,就是main所在類)頭上注解過多的問題,一個@SpringbootApplication相當於

@Configuration@EnableAutoConfiguration@ComponentScan,並具有他們的默認屬性值

查看@SpringBootApplication注解源碼:

  

@CompoentScan:可以解決根類或者配,告訴Spring哪個package的用注解標識的類會被spring自動掃描並且裝入bean容器

         默認情況下是加載和Application類所在同一個目錄下的所有類,包括所有子目錄下的類   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM