背景
Spring Boot框架對工程結(jié)構(gòu)沒有什么特殊的限制,良好的工程結(jié)構(gòu)劃分可以使項目更清晰,提高代碼的統(tǒng)一性.
環(huán)境
jdk 1.8
spring boot 2.1.6
maven 4.0.0
intellj idea 2018.2
window 10
maven配置
先上配置文件百框,包依賴比較清楚
實操
新建項目
使用Spring Initializr,按照步驟創(chuàng)建spring boot項目
設(shè)置項目group,唯一id,java版本,構(gòu)建工具等等
選擇spring boot 版本和其他包依賴,這里有2個包建議選上健爬,開發(fā)階段devtools會在文件發(fā)生改變的時候自動重啟正在運行的應(yīng)用外永,在本地開發(fā)的時候很方便润绎。lombok主要是解決大量的bean需要寫Getter和Setter包警,構(gòu)造器撵摆,equals,以及toString等方法害晦。用lombok可以通過注解的方式自動生成特铝,大大節(jié)省時間。同時后面用到Slf4j注解的時候也是需要用到lombok的壹瘟。
選擇web依賴
設(shè)置項目保存路徑
點擊Finish鲫剿,生成項目的目錄結(jié)構(gòu),如下:
打tag 1.0.0版本稻轨,提交代碼灵莲。
git tag -a v1.0.0 -m "初始化代碼"
git push origin v1.0.0
后面對改動做好版本管理工作
目錄調(diào)整
根據(jù)網(wǎng)上的文章整理的Spring Boot?推薦目錄結(jié)構(gòu)
代碼層的結(jié)構(gòu)
1.工程啟動類(ApplicationServer.java)放在包根目錄
2.實體類(domain)放在domain
3.數(shù)據(jù)訪問層(dao)放在dao
4.數(shù)據(jù)服務(wù)層(service)放在service,數(shù)據(jù)服務(wù)的實現(xiàn)接口(serviceImpl)放在service.impl
5.前端控制器(controller)放在controller
6.工具類(utils)放在utils
7.常量接口類(constant)放在constant
8.配置信息類(config)放在config
9.公用類(common)置于common
資源文件的結(jié)構(gòu)
1.配置文件(.properties/.json等)置于config文件夾下
2.國際化(i18n))置于i18n文件夾下
3.spring.xml置于META-INF/spring文件夾下
4.頁面以及js/css/image等置于static文件夾下的各自文件下
調(diào)整后目錄如下:
這個項目主要是要不斷完善演進。雖然現(xiàn)在是all in one殴俱,但是考慮要拆分成微服務(wù)政冻。最后還是按照業(yè)務(wù)的模塊在頂層在封裝一層目錄,以后modules里面的模塊根據(jù)需要會變成單一的服務(wù)线欲,最終的目錄結(jié)構(gòu)如下:
打tag 1.0.1版本明场,提交代碼,備注項目目錄調(diào)整询筏。
git tag -a v1.0.1 -m "目錄調(diào)整"
git push origin v1.0.1