# Java后端开发手册 ### 技术栈介绍 核心框架:spring boot 2.1.2.RELEASE 安全框架: spring security 2.1.2.RELEASE 注册中心:eureka 网关:spring cloud gateway 服务监控:spring boot admin 请求链追踪:zipkin-server 2.12.0 服务间调用:feign 10.1.0 http框架:okhttp3 表单校验: hibernate-validator 6.0.14.Final 数据库连接池:druid 1.1.10 持久层:mybatis 3.4.6 缓存框架:spring-data-redis 2.1.4.RELEASE、lettuce 5.1.3.RELEASE 日志管理:logback 1.2.3、slf4j 1.7.25 定时任务:quartz 2.3.0 工作流引擎:flowable 6.4.1 消息队列:rocketMQ 性能测试框架:contiperf 2.3.4 验证码:kaptcha 2.3.2 配置文件加密:jasypt 2.1.1 工具类:lombok 1.18.2、joda-time 2.10.1、easyexcel 1.1.2-beta5、commons-lang3 3.3.2、pinyin4j 2.5.1、pagehelper 5.1.8、swagger 2.9.2 ### 基础环境 操作系统:Ubuntu 18.04.1 LTS 代码仓库:Git 2.17.1 发版构建工具:Jenkins ver. 2.150.1、JDK 1.8.0_191、Maven 3.6.0 接口文档管理:YApi 1.4.3、Swagger 2.9.2 Maven私服:Nexus 3.15.2-01 ### 代码生成器介绍 项目:wisdom-generator 使用spring boot + velocity模板引擎实现,根据已设计好的表结构,完成dao、service、controller三层代码自动生成,并同时生成swagger文档以及基础的表单校验 ### 项目工程介绍 ##### 框架 * wisdom-common (共通包,共通配置、工具类、通用bean) http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-common.git * wisdom-ds (动态数据源)http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-ds.git * wisdom-monitor (spring cloud服务监控)http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-monitor.git * wisdom-track (服务调用链追踪)http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-track.git * wisdom-gateway (服务网关)http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-gateway.git * wisdom-center (服务注册中心)http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-center.git * wisdom-parent (父pom,管理依赖包版本)http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-parent.git ##### 业务 * wisdom-asset (资产管理系统)http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-asset.git * wisdom-bill (账单管理系统)http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-bill.git * wisdom-platform (平台系统)http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-platform.git * wisdom-serve (物业服务系统)http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-serve.git * wisdom-payment (支付网关)http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-payment.git * wisdom-auth (授权中心)http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-auth.git * wisdom-flow (工作流模块)http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-flow.git * wisdom-push (推送系统)http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-push.git * wisdom-file (文件系统)http://139.159.196.162:3000/WisdomCity-JAVA/wisdom-file.git ### 开发步骤 1. 原型评估 2. 接口设计及接口文档编写 3. 数据库表设计 4. 代码生成 5. 代码编写完善 6. 功能发版 7. 与前端联调 8. 交付测试,bug跟踪 ### 项目工程基础配置 ##### maven私服配置 ```xml D:/usr/bin/Java/apache-maven-3.5.2/maven-dependcies wisdom admin WisdomCity@2019 wisdom central http://139.159.210.228:8081/repository/maven-public/ spring spring-milestones http://139.159.210.228:8081/repository/spring-milestones/ wisdom central http://central true true always warn central http://central true true always warn spring-milestones spring-milestones https://spring true false spring-milestones https://spring true false wisdom spring-milestones ``` ##### pom配置 ```xml com.wisdom wisdom-cloud-parent 1.0.0-SNAPSHOT wisdom-platform org.springframework.boot spring-boot-maven-plugin ``` ##### SwaggerConfig ```java @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.wisdom.xxx.web")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("xxx系统") .description("xxx系统") .termsOfServiceUrl("http://wuye.huiguanjia.cn") .version("1.0") .build(); } } ``` ##### 开发约定 详见:[Java开发约定]:http://doc.huiguanjia.cn/markdown/content/router?filePath=/tmp/docs/develop/规范/Java后端/Java后端开发规范.md&code=null