天天看點

Spring Boot工程結構推薦

今天看了一位簡書上朋友發來的工程,于是想到應該要寫這麼一篇。前人總結的最佳實踐案例可以幫助我們免去很多不必要的麻煩。花點時間來看一下本文,絕對物超所值。

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

  • 應用主類

    Application.java

    置于root package下,通常我們會在應用主類中做一些架構配置掃描等配置,我們放在root package下可以幫助程式減少手工配置來加載到我們希望被Spring加載的内容
  • 實體(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配置?

https://blog.didispace.com/springbootproject/#%E5%85%B3%E8%81%94%E9%98%85%E8%AF%BB 關聯閱讀

Spring Boot 2.x基礎教程:工程結構推薦

https://blog.didispace.com/springbootproject/#%E6%9C%AC%E6%95%99%E7%A8%8B%E6%89%80%E6%9C%89%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B 本教程所有代碼示例