摘要:結(jié)構(gòu)化你的代碼不需要任何特定的代碼布局來(lái)工作,然而有一些最佳實(shí)踐可以提供幫助。我們建議你遵循推薦的包命名約定和使用反向域名例如,。
14. 結(jié)構(gòu)化你的代碼
Spring Boot不需要任何特定的代碼布局來(lái)工作,然而有一些最佳實(shí)踐可以提供幫助。
14.1 使用“default”包當(dāng)一個(gè)類不包含package聲明時(shí),它被認(rèn)為是在“default package”中,使用“default package”通常是不鼓勵(lì)的,應(yīng)該避免使用,它可能會(huì)導(dǎo)致使用@ComponentScan、@EntityScan或@SpringBootApplication注解的Spring Boot應(yīng)用程序的特殊問(wèn)題,因?yàn)槊總€(gè)jar的每個(gè)類都被讀取。
我們建議你遵循Java推薦的包命名約定和使用反向域名(例如,com.example.project)。14.2 定位主應(yīng)用程序類
我們通常建議你在其他類之上的根包中定位主應(yīng)用程序類,@SpringBootApplication注解通常放在主類上,它隱式地為某些項(xiàng)定義了一個(gè)基本的“搜索包”。例如,如果你正在編寫一個(gè)JPA應(yīng)用程序,則使用@SpringBootApplication注解類的包來(lái)搜索@Entity項(xiàng),使用根包也允許組件掃描只應(yīng)用于你的項(xiàng)目。
如果你不想使用@SpringBootApplication,那么@EnableAutoConfiguration和@ComponentScan注解將定義該行為,因此你也可以使用它。
下面的清單展示了一個(gè)典型的布局:
com +- example +- myapplication +- Application.java | +- customer | +- Customer.java | +- CustomerController.java | +- CustomerService.java | +- CustomerRepository.java | +- order +- Order.java +- OrderController.java +- OrderService.java +- OrderRepository.java
Application.java文件將聲明main方法,以及基本的@SpringBootApplication,如下所示:
package com.example.myapplication; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }上一篇:構(gòu)建系統(tǒng) 下一篇:自動(dòng)配置
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/69611.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ù)有自己的看...
摘要:許多配置示例已經(jīng)在上發(fā)布,它們使用配置。逐漸取代自動(dòng)配置自動(dòng)配置非侵入性,在任何時(shí)候,你都可以開始定義自己的配置來(lái)替換自動(dòng)配置的特定部分。最后,你還可以通過(guò)使用屬性來(lái)控制要排除的自動(dòng)配置類的列表。 15. 配置類 Spring Boot支持基于java的配置,雖然可以使用XML源的SpringApplication,但是我們通常建議你的主源是一個(gè)@Configuration類。通常,定...
摘要:開發(fā)你的第一個(gè)應(yīng)用程序本節(jié)描述如何開發(fā)一個(gè)簡(jiǎn)單的應(yīng)用程序來(lái)突出了的一些關(guān)鍵特性,我們使用來(lái)構(gòu)建這個(gè)項(xiàng)目,因?yàn)榇蠖鄶?shù)都支持它。如果你希望分發(fā)一個(gè)自包含的應(yīng)用程序,這可能會(huì)有問(wèn)題。 11. 開發(fā)你的第一個(gè)Spring Boot應(yīng)用程序 本節(jié)描述如何開發(fā)一個(gè)簡(jiǎn)單的Hello World! web應(yīng)用程序來(lái)突出了Spring Boot的一些關(guān)鍵特性,我們使用Maven來(lái)構(gòu)建這個(gè)項(xiàng)目,因?yàn)榇蠖鄶?shù)...
摘要:在創(chuàng)建之前,實(shí)際上觸發(fā)了一些事件,因此不能將偵聽器注冊(cè)為。使用的事件發(fā)布機(jī)制發(fā)送應(yīng)用程序事件,該機(jī)制的一部分確保在子環(huán)境中發(fā)布給偵聽器的事件也會(huì)在任何祖先上下文中被發(fā)布給監(jiān)聽器。 23. SpringApplication SpringApplication類提供了一種方便的方法來(lái)引導(dǎo)從main()方法開始的Spring應(yīng)用程序。在許多情況下,你可以委托給靜態(tài)SpringApplica...
摘要:構(gòu)建系統(tǒng)強(qiáng)烈建議你選擇一個(gè)支持依賴管理的構(gòu)建系統(tǒng),并且可以使用發(fā)布到中心存儲(chǔ)庫(kù)的工件。例如,要升級(jí)到另一個(gè),你可以將以下元素添加到你的在前面的示例中,我們指定了一個(gè),但是任何依賴類型都可以以相同的方式被覆蓋。 13. 構(gòu)建系統(tǒng) 強(qiáng)烈建議你選擇一個(gè)支持依賴管理的構(gòu)建系統(tǒng),并且可以使用發(fā)布到Maven中心存儲(chǔ)庫(kù)的工件。我們建議你選擇Maven或Gradle,可以讓Spring Boot與其...
閱讀 2729·2021-10-11 10:58
閱讀 1324·2021-09-29 09:34
閱讀 1746·2021-09-26 09:46
閱讀 3991·2021-09-22 15:31
閱讀 859·2019-08-30 15:54
閱讀 1596·2019-08-30 13:20
閱讀 1375·2019-08-30 13:13
閱讀 1680·2019-08-26 13:52