SpringBootApplication這個最基本的註釋其實是由三個部分組成的

在很久很久以前,哈哈,a long story.

許多Spring Boot開發人員總是用@Configuration、@EnableAutoConfiguration和@ComponentScan來註釋他們的主類。由於這些註釋經常一起使用(特別是如果您遵循上面的最佳實踐),SpringBoot提供了一個方便的@SpringBootApplication替代方案。

@SpringBootApplication註釋等價於使用@Configuration、@EnableAutoConfiguration和@ComponentScan的默認屬性:

SpringBootApplication這個最基本的註釋其實是由三個部分組成的

以下是@SpringBootApplication註釋中keyijieshou接受的參數:

Exclude:從自動配置中排除類列表。

excludeNames:從自動配置中排除完全限定類名的列表。這個參數是從spring boot 1.3.0開始添加的。

scanBasePackageClasses:提供必須應用於@ComponentScan的類的列表。

scanBasePackages:提供必須應用於@ComponentScan的包的列表。這個參數是從spring boot 1.3.0開始添加的。


說到這了,我們順便來說一下application.properties文件。


與標準Spring框架相比,Spring Boot為我們提供的一個優勢是"配置更少"。Spring Boot將其典型的"約定優於配置"的方法應用於屬性文件。Spring boot引入了名為"application.properties"的默認應用程序配置屬性文件。而且不需要任何基於spring的配置即可自動檢測。我們需要把屬性文件放置在maven項目的"src/main/resources"目錄中。

通過使用這個默認文件,我們不必顯式地註冊PropertySource,甚至不必提供到屬性文件的路徑。

Spring boot在application.properties文件內指定了應用程序內部的各種常見默認屬性,以此來支持日誌,AOP,身份識別,Hibernat, JPA, JMX,電子郵件等屬性。我們不需要在所有的情況下指定所有的默認屬性。我們可以按需指定它們。這就是spring減少基於XML的配置並將其更改為簡單屬性的方式。

您可以在這裡找到spring boot提供的所有默認屬性。(不可以發鏈接,大家可以參考下面的地址)

https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html


分享到:


相關文章: