基于SpringBoot的后端server脚手架,集成环境配置、数据库操作、权限控制、日志处理、标准化发布等通用模块。
在根目录的pom.xml
中配置dev、beta、prod环境变量,然后在SpringBoot的配置文件中引用maven的profile属性。
server-dao
模块集成了mybatis-generator
,使用它来自动生成MyBatis的dao层,除此之外也添加了两个generator插件:
- MySQL分页:此脚手架未采用基于MyBatis拦截器的第三方分页插件,而是直接在生成的dao层添加
setLimit*
,使用它们即可在生成的sql中直接添加limit ?, ?
,这样做即简洁又易于理解。 - MySQL注释:将数据库元数据中的comment插入自动生成的Model类中,便于代码的阅读。
由于mybatis-generator
插件依赖了另外一个模块server-common
,因此在执行generator前需要安装这些依赖到本地仓库:
mvn install
否则mybatis-generator
会因为找不到server-common
依赖而执行失败。
server-api
模块集成了shiro进行权限控制,参见com.boilerplate.server.init.ShiroConfig
类。
对于纯粹的后端server而言,可能还需要自己实现一个生成错误json的filter来替换默认filter,因为默认filter会在权限验证失败时重定向至错误页面。
无它,唯一需要配置的就是日志输出位置,此脚手架中支持在SpringBoot中配置日志输出位置,这种配置对开发测试阶段更加友好,避免了日志文件满天飞的情况。
不再采用传统的tomcat发布,模仿*nix的应用目录结构,即:
- bin:应用控制入口
- conf:应用配置
- logs:日志输出
- static:一些静态资源