模块说明
- spring-archetype-parent:archetype模板工程
- spring-simiple-demo:archetype模板源码
目标
- 基于工程命名不够规范,制定工程命名规约,提升识别性
- 规范技术架构定义,方便后续可读性、维护性及扩展性
- 规范模块结构定义,方便新人快速理解上手
- 降低架构初始化及常用组件的接入成本,提升研发效率
相关文档
相关依赖
- 本工程依赖https://github.com/guanyang/spring-base-parent相关组件
- 将
spring-base-parent
下载到本地,执行mvn clean install
,将相关组件生成到本地
基于模板创建应用
- 将archetype模板生成到本地
mvn clean install
- 基于archetype模板创建工程,命令如下:
mvn archetype:generate \
-DgroupId=org.gy.framework \ //替换成自定义groupId
-DartifactId=spring-demo-01 \ //替换成自定义artifactId
-Dversion=1.0.0-SNAPSHOT \ //替换成自定义version
-Dpackage=org.gy.framework.demo \ //替换成自定义package路径
-DarchetypeArtifactId=spring-archetype-service \ //该模板已经上传私服,直接使用
-DarchetypeGroupId=org.gy.framework \
-DarchetypeVersion=1.0.0-SNAPSHOT
能力支撑
- 统一架构分层结构定义,方便扩展及治理
- API统一异常、错误码规范定义,参考ApiBizException
- 统一全局异常处理器,参考ServiceExceptionHandler
- 引入
mybatis plus
中间件,支持代码自动生成及数据源常用配置,代码自动生成参考MybatisAutoGeneratorHelper
- 支持csrf、xss安全加固,参考示例
TestController
- 在需要csrf验证的Controller方法加上@CsrfCheck注解
- 请求对象需要添加
@Valid
或者@Validated
注解才会进行xss校验
- 支持traceid和日志切面记录方法调用日志,参考示例
TestController
- 日志
@LogTrace
支持类、方法层级定义
- 日志