摘要:許多配置示例已經(jīng)在上發(fā)布,它們使用配置。逐漸取代自動(dòng)配置自動(dòng)配置非侵入性,在任何時(shí)候,你都可以開始定義自己的配置來(lái)替換自動(dòng)配置的特定部分。最后,你還可以通過使用屬性來(lái)控制要排除的自動(dòng)配置類的列表。
15. 配置類
Spring Boot支持基于java的配置,雖然可以使用XML源的SpringApplication,但是我們通常建議你的主源是一個(gè)@Configuration類。通常,定義main方法的類是一個(gè)很好的候選者,作為主要的@Configuration。
許多Spring配置示例已經(jīng)在Internet上發(fā)布,它們使用XML配置。如果可能,始終嘗試使用等效的基于java的配置,搜索Enable*注解可能是一個(gè)很好的起點(diǎn)。15.1 導(dǎo)入額外的配置類
你不必將所有@Configuration放入一個(gè)類中,可以使用@Import注解導(dǎo)入額外的配置類,或者,你可以使用@ComponentScan自動(dòng)提取所有Spring組件,包括@Configuration類。
15.2 導(dǎo)入XML配置如果你必須使用基于XML的配置,我們?nèi)匀唤ㄗh你開始一個(gè)@Configuration類,然后你可以使用一個(gè)@ImportResource注解加載XML配置文件。
16. 自動(dòng)配置Spring Boot自動(dòng)配置嘗試根據(jù)你添加的jar依賴項(xiàng)自動(dòng)配置Spring應(yīng)用程序,例如,如果HSQLDB在你的類路徑上,并且你沒有手動(dòng)配置任何數(shù)據(jù)庫(kù)連接bean,那么Spring Boot將自動(dòng)配置一個(gè)內(nèi)存中的數(shù)據(jù)庫(kù)。
你需要將@EnableAutoConfiguration或@SpringBootApplication注解選擇的添加到你的其中一個(gè)@Configuration類中。
你應(yīng)該只添加一個(gè)@SpringBootApplication或@EnableAutoConfiguration注解,我們通常建議只在主@Configuration類中添加其中一個(gè)或另一個(gè)。16.1 逐漸取代自動(dòng)配置
自動(dòng)配置非侵入性,在任何時(shí)候,你都可以開始定義自己的配置來(lái)替換自動(dòng)配置的特定部分。例如,如果你添加了自己的DataSource bean,默認(rèn)的嵌入式數(shù)據(jù)庫(kù)支持就會(huì)后退。
如果你需要了解哪些自動(dòng)配置當(dāng)前正在應(yīng)用以及為什么,使用--debug開關(guān)啟動(dòng)應(yīng)用程序,這樣做可以為一些核心日志記錄器選擇調(diào)試日志,并將條件報(bào)告記錄到控制臺(tái)。
16.2 禁用特定類的自動(dòng)配置如果你發(fā)現(xiàn)你不想要的特定的自動(dòng)配置類正在被應(yīng)用,你可以使用@EnableAutoConfiguration的排除屬性來(lái)禁用它們,如下例所示:
import org.springframework.boot.autoconfigure.*; import org.springframework.boot.autoconfigure.jdbc.*; import org.springframework.context.annotation.*; @Configuration @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) public class MyConfiguration { }
如果類不在類路徑上,則可以使用注解的excludeName屬性,并指定完全限定的名稱。最后,你還可以通過使用spring.autoconfigure.exclude屬性來(lái)控制要排除的自動(dòng)配置類的列表。
你可以在注解級(jí)別和使用屬性定義排除。上一篇:結(jié)構(gòu)化你的代碼 下一篇:Spring bean和依賴項(xiàng)注入
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/77353.html
摘要:參考指南使你可以輕松地創(chuàng)建可運(yùn)行的獨(dú)立的生產(chǎn)級(jí)的基于的應(yīng)用程序,我們對(duì)平臺(tái)和第三方庫(kù)有自己的看法,這樣你就可以以最低限度工作開始了,大多數(shù)應(yīng)用程序都需要很少的配置。文檔本節(jié)簡(jiǎn)要概述了參考文檔,它充當(dāng)文檔其余部分的映射。 Spring Boot 參考指南 Spring Boot使你可以輕松地創(chuàng)建可運(yùn)行的獨(dú)立的、生產(chǎn)級(jí)的基于Spring的應(yīng)用程序,我們對(duì)Spring平臺(tái)和第三方庫(kù)有自己的看...
摘要:關(guān)于文檔參考指南可用如下方式最新的副本可以在中找到。嘗試操作文檔,它們?yōu)樽畛R姷膯栴}提供解決方案。學(xué)習(xí)基礎(chǔ),構(gòu)建在許多其他項(xiàng)目上,網(wǎng)站提供豐富的參考文檔,如果你要從開始,嘗試其中一個(gè)指南。我們對(duì)進(jìn)行監(jiān)視,以解決帶有標(biāo)記的問題。 1. 關(guān)于文檔 Spring Boot 參考指南可用如下方式: HTML PDF EPUB 最新的副本可以在 docs.spring.io/spring-b...
摘要:還配置了一些特性,這些特性是由額外的模塊的存在觸發(fā)的。通過監(jiān)控和管理管理擴(kuò)展提供了一種監(jiān)控和管理應(yīng)用程序的標(biāo)準(zhǔn)機(jī)制,默認(rèn)情況下,創(chuàng)建了有一個(gè)的的,并公開了使用注解或注解的任何。有關(guān)更多細(xì)節(jié),請(qǐng)參見類。 40. Spring Integration Spring Boot為使用Spring Integration提供了一些方便,引入spring-boot-starter-integrat...
摘要:使用技術(shù)提供了額外的項(xiàng)目,幫助你訪問各種技術(shù),包括,,,,,,,和。我們還提供了一個(gè),以便與具有支持的其他存儲(chǔ)保持一致。有關(guān)的詳細(xì)信息,請(qǐng)參閱參考文檔。 30. 使用NoSQL技術(shù) Spring Data提供了額外的項(xiàng)目,幫助你訪問各種NoSQL技術(shù),包括:MongoDB,Neo4J,Elasticsearch,Solr,Redis,Gemfire,Cassandra,Couchbas...
摘要:開發(fā)應(yīng)用程序非常適合應(yīng)用程序開發(fā),通過使用嵌入式或,你可以創(chuàng)建一個(gè)自包含的服務(wù)器。如果你還沒有開發(fā)過一個(gè)應(yīng)用程序,你可以按照入門部分中的示例進(jìn)行操作。自動(dòng)配置為大多數(shù)應(yīng)用程序提供了良好的自動(dòng)配置。 27. 開發(fā)Web應(yīng)用程序 Spring Boot非常適合web應(yīng)用程序開發(fā),通過使用嵌入式Tomcat、Jetty、Undertow或Netty,你可以創(chuàng)建一個(gè)自包含的HTTP服務(wù)器。大多...
閱讀 2229·2021-11-11 16:55
閱讀 1746·2019-08-30 15:54
閱讀 2885·2019-08-30 15:53
閱讀 2277·2019-08-30 15:44
閱讀 1214·2019-08-30 15:43
閱讀 1017·2019-08-30 11:22
閱讀 2021·2019-08-29 17:20
閱讀 1621·2019-08-29 16:56