概述:
Spring Boot對代碼布局沒有特別的要求灌诅,但是有些更好的做法能夠在你編碼的時(shí)候幫助你提高編碼效率按傅。
4.1 Using the “default” package
當(dāng)類里面沒有包聲明的時(shí)候就稱其所在的包為默認(rèn)包(default package),默 認(rèn)包的使用一般不被提倡服协,甚至應(yīng)該被禁止绍昂。因?yàn)槊總€(gè)jar里面的每個(gè)類都會被讀取,他將導(dǎo)致使用 @ComponentScan偿荷,@EntityScan窘游,@SpringBootApplication注解的Spring Boot出現(xiàn)特殊的問題。
4.2 Locating the main application class
我們通常建議您將主應(yīng)用程序類放在其他類之外的根目錄下跳纳。該@EnableAutoConfiguration
注釋通常放在你的主類上隱含定義了某些項(xiàng)目的基本“search? package”忍饰。 例如,如果你正在寫一個(gè)JPA應(yīng)用寺庄,包的@EnableAutoConfiguration注釋類將被用于搜索@Entity實(shí)體項(xiàng)艾蓝。
使用root? package 允許@ComponentScan 注解添加特殊的basePackage參數(shù). 如果你的主類是在 root package力崇,你也可以使用@SpringBootApplication 注解。
這是典型的布局:
下面Application.java基于@Configuration聲明了main()方法: