springboot2.0 web 开发标准目录架构说明

本文档仅在于统一公司内部 java web 开发标准。因此定义了 java web 开发的工具、目录结构、定义和说明。

sb2-web-spec:

  1. spring boot 2.0 开发
  2. maven 3.3+ 构建
  3. thymeleaf 作为模板引擎
  4. restful 服务接口

一个基本 sb2-web 的目录结构如下:

├── clean-run.sh
├── logs/ 日志文件目录
│ ├── sb2-web_test_2018-06-02_0959.0.log
│ └── sb2-web_test.log
|
├── mvnw
├── mvnw.cmd
├── pom.xml
├── pysrc/ python 脚本目录
├── README.md
├── src/ 源文件目录
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── mydomain
│ │ │ ├── guru/ 工具包目录
│ │ │ │ ├── AccountValidator.java
│ │ │ │ ├── DateConverter.java
│ │ │ │ ├── JsonBeanUtil.java
│ │ │ │ ......
│ │ │ └── webapi/ web 接口目录
│ │ │ ├── Application.java
│ │ │ ├── config/ sb2 app 配置文件目录
│ │ │ │ ├── CORSFilter.java
│ │ │ │ ├── JwtAuthenticationEntryPoint.java
│ │ │ │ ├── JwtAuthenticationFilter.java
│ │ │ │ ├── WebMvcConfig.java
│ │ │ │ ├── WebSecurityConfig.java
│ │ │ │ └── ......
│ │ │ ├── controller/ 控制器目录
│ │ │ │ ├── AuthenticationController.java
│ │ │ │ ├── KaptchaController.java
│ │ │ │ └── UserController.java
│ │ │ ├── dao/ DAO 目录 (或者称为:repository)
│ │ │ │ ├── KaptchaTokenDao.java
│ │ │ │ └── UserDao.java
│ │ │ ├── model/ Model 目录 (绑定数据表)
│ │ │ │ ├── AuthToken.java
│ │ │ │ ├── Constants.java
│ │ │ │ ├── dto/ DTO 数据传输组件目录
│ │ │ │ │ ├── KaptchaTokenDto.java
│ │ │ │ │ └── UserDto.java
│ │ │ │ ├── KaptchaToken.java
│ │ │ │ ├── LoginUser.java
│ │ │ │ ├── Role.java
│ │ │ │ └── User.java
│ │ │ └── service/ 服务接口目录
│ │ │ ├── impl/ 服务接口实现目录
│ │ │ │ ├── KaptchaTokenServiceImpl.java
│ │ │ │ └── UserServiceImpl.java
│ │ │ ├── KaptchaTokenService.java
│ │ │ └── UserService.java
│ │ └── resources/ 资源总目录
│ │ ├── application-dev.properties 开发配置
│ │ ├── application-prod.properties 产品配置
│ │ ├── application.properties 当前配置
│ │ ├── application-test.properties 测试配置
│ │ ├── kaptcha.properties 图片验证码配置
│ │ ├── logback-spring.xml 日志文件配置
│ │ ├── mysql-webapi.cresql 数据库创建语句
│ │ └── templates/ web 模板目录
│ │ │ ├── user/
│ │ │ ├── login.html
│ │ │ ......
│ │ ├── static/ 静态资源目录
│ │ ├── bootstrap-4.1.0/
│ │ │ ├── css/
│ │ │ │ ├── bootstrap.css
│ │ │ │ ├── bootstrap.css.map
│ │ │ │ ├── bootstrap-grid.css
│ │ │ │ ├── bootstrap-grid.css.map
│ │ │ │ ├── bootstrap-grid.min.css
│ │ │ │ ├── bootstrap-grid.min.css.map
│ │ │ │ ├── bootstrap.min.css
│ │ │ │ ├── bootstrap.min.css.map
│ │ │ │ ├── bootstrap-reboot.css
│ │ │ │ ├── bootstrap-reboot.css.map
│ │ │ │ ├── bootstrap-reboot.min.css
│ │ │ │ └── bootstrap-reboot.min.css.map
│ │ │ └── js
│ │ │ ├── bootstrap.bundle.js
│ │ │ ├── bootstrap.bundle.js.map
│ │ │ ├── bootstrap.bundle.min.js
│ │ │ ├── bootstrap.bundle.min.js.map
│ │ │ ├── bootstrap.js
│ │ │ ├── bootstrap.js.map
│ │ │ ├── bootstrap.min.js
│ │ │ └── bootstrap.min.js.map
│ │ ├── css
│ │ │ └── common.css
│ │ └── js
│ │ └── jquery
│ │ ├── jquery-1.11.2.min.js
│ │ └── jquery.min.map
│ └── test
│ └── java
│ └── com
│ └── yourdomain
│ └── webapi/
│ ├── ApplicationTests.java
│ └── UserDocumentationTests.java 自动文档生成测试
└── update-build.sh 源文件自动版本更新脚本