模块 | 主键 |
---|---|
核心框架 | 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(代码生成器) http://git.wisdomcity.com.cn/WisdomCity-JAVA/wisdom-generator.git
使用spring boot + velocity模板引擎实现,根据已设计好的表结构,完成dao、service、controller三层代码自动生成,并同时生成swagger文档以及基础的表单校验
原型评估
接口设计及接口文档编写
数据库表设计
代码生成
代码编写完善
功能发版
与前端联调
交付测试,bug跟踪
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>D:/usr/bin/Java/apache-maven-3.5.2/maven-dependcies</localRepository>
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
<!-- 智慧城私服 -->
<server>
<id>wisdom</id>
<username>admin</username>
<password>WisdomCity@2019</password>
</server>
</servers>
<mirrors>
<!-- 智慧城私服 -->
<mirror>
<id>wisdom</id>
<mirrorOf>central</mirrorOf>
<url>http://nexus.wisdomcity.com.cn/repository/maven-public/</url>
</mirror>
<!-- 智慧城私服 -->
<mirror>
<id>spring</id>
<mirrorOf>spring-milestones</mirrorOf>
<url>http://nexus.wisdomcity.com.cn/repository/spring-milestones/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>wisdom</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<profile>
<id>spring-milestones</id>
<repositories>
<repository>
<id>spring-milestones</id>
<url>https://spring</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-milestones</id>
<url>https://spring</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>wisdom</activeProfile>
<activeProfile>spring-milestones</activeProfile>
</activeProfiles>
</settings>
<parent>
<groupId>com.wisdom</groupId>
<artifactId>wisdom-cloud-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<build>
<finalName>wisdom-xxx</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
@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