今天看了一位簡書上朋友發來的工程,于是想到應該要寫這麼一篇。前人總結的最佳實踐案例可以幫助我們免去很多不必要的麻煩。花點時間來看一下本文,絕對物超所值。
https://blog.didispace.com/springbootproject/#%E5%B7%A5%E7%A8%8B%E7%BB%93%E6%9E%84%EF%BC%88%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5%EF%BC%89 工程結構(最佳實踐)
Spring Boot架構本身并沒有對工程結構有特别的要求,但是按照最佳實踐的工程結構可以幫助我們減少可能會遇見的坑,尤其是Spring包掃描機制的存在,如果您使用最佳實踐的工程結構,可以免去不少特殊的配置工作。
https://blog.didispace.com/springbootproject/#%E5%85%B8%E5%9E%8B%E7%A4%BA%E4%BE%8B 典型示例
- root package結構:
com.example.myproject
- 應用主類
置于root package下,通常我們會在應用主類中做一些架構配置掃描等配置,我們放在root package下可以幫助程式減少手工配置來加載到我們希望被Spring加載的内容Application.java
- 實體(Entity)與資料通路層(Repository)置于
包下com.example.myproject.domain
- 邏輯層(Service)置于
com.example.myproject.service
- Web層(web)置于
com.example.myproject.web
com
+- example
+- myproject
+- Application.java
|
+- domain
| +- Customer.java
| +- CustomerRepository.java
|
+- service
| +- CustomerService.java
|
+- web
| +- CustomerController.java
|
看看您現在的功能是否這樣配置,如果不是,不妨嘗試改變一下,看看是否可以去掉一些@Configuration配置?