一. 代碼層結構
根目錄:com.example.demo
1.啟動類(gApplication.java
)推薦放在根目錄com.example.demo包下
2.實體類(domain
)
A: com.example.demo.domain(jpa項目)
B: com.example.demo.pojo(mybatis項目)
3.數據接口訪問層(Dao
)
A: com.example.demo.repository(jpa項目)
B: com.example.demo.mapper(mybatis項目)
4.數據服務接口層(Service
)推薦:com.example.demo.service
5.數據服務實現層(Service Implements
)推薦:com.example.demo.service.impl
使用idea的同學推薦使用com.example.demo.serviceImpl目錄
6.前端控制器層(Controller
)推薦:com.example.demo.controller
7.工具類庫(utils
)推薦:com.example.demo.utils
8.配置類(config
)推薦:com.example.demo.config
9.數據傳輸對象(dto
)推薦:com.example.demo.dto
數據傳輸對象(`Data Transfer Object`)用於封裝多個實體類(`domain`)之間的關系,不破壞原有的實體類結構
10.視圖包裝對象(vo
)推薦:com.example.demo.vo
視圖包裝對象(`View Object`)用於封裝客戶端請求的數據,防止部分數據泄露(如:管理員ID),保證數據安全,不破壞原有的實體類結構
二、資源目錄結構
根目錄:resources
1.項目配置文件:resources/application.yml
2.靜態資源目錄:resources/static/
用於存放html、css、js、圖片等資源
3.視圖模板目錄:resources/templates/
用於存放jsp、thymeleaf等模板文件
4.mybatis映射文件:resources/mapper/(mybatis項目)
5.mybatis配置文件:resources/mapper/config/(mybatis項目)
三、項目目錄示例
.
| mvnw
| mvnw.cmd
| pom.xml
| README.md
| .gitignore
└─ src
│ ├─main
│ │ ├─java
│ │ │ ├─com.example.demo
│ │ │ │ gApplication.java
│ │ │ │
│ │ │ │ ├─controller
│ │ │ │ │ ├─UserController.java
│ │ │ │ │
│ │ │ │ ├─domain
│ │ │ │ │ ├─User.java
│ │ │ │ │
│ │ │ │ ├─service
│ │ │ │ │ ├─UserService.java
│ │ │ │ │ │
│ │ │ │ │ ├─impl
│ │ │ │ │ │ ├─UserServiceImpl.java
│ │ │ │ │
│ │ │ │ ├─repository
│ │ │ │ │ ├─UserRepository
│ │ │ │ │
│ │ │ │ ├─dto
│ │ │ │ │ ├─UserDTO.java
│ │ │ │ │
│ │ │ │ ├─vo
│ │ │ │ │ ├─UserVO.java
│ │ │ │ │
│ │ │ │ ├─utils
│ │ │ │ │ ├─EncryptUtil.java
│ │ │ │ │
│ │ │ │ ├─config
│ │ │ │ │ ├─QuartzJob.java
│ │ │ │ │
│ │ ├─resources
│ │ │ ├─static
│ │ │ │ ├─css
│ │ │ │ ├─js
│ │ │ ├─templates
│ │ │ ├─application.properties
│ │
│ ├─test
│ │ ├─java
│ │ │ ├─com.example.demo
│ │ │ │ ├─controller
│ │ │ │ │ ├─UserControllerTests.java