فهرست منبع

java开发手册

hatim 6 سال پیش
والد
کامیت
609d3134ce
2فایلهای تغییر یافته به همراه297 افزوده شده و 0 حذف شده
  1. 263 0
      规范/Java后端/Java后端开发手册.md
  2. 34 0
      部署环境/nginx部署.md

+ 263 - 0
规范/Java后端/Java后端开发手册.md

@@ -0,0 +1,263 @@
+# 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
+<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://139.159.210.228:8081/repository/maven-public/</url>
+    </mirror>
+	<!-- 智慧城私服 -->
+	<mirror>
+        <id>spring</id>
+        <mirrorOf>spring-milestones</mirrorOf>
+        <url>http://139.159.210.228:8081/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>
+```
+
+##### pom配置
+
+```xml
+   <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-platform</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+```
+
+##### 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
+
+
+

+ 34 - 0
部署环境/nginx部署.md

@@ -113,6 +113,40 @@ server {
 }
 ```
 
+### vhost/admin.conf
+
+```
+server {
+    listen 3000;
+    server_name 127.0.0.1;
+ 
+    root   html;
+    index  index.html index.htm index.php;
+ 
+
+    location / {
+        root /root/web/wisdom-web/public/;
+	index index.html;
+	try_files $uri $uri/ /index.html;
+
+        #Proxy Settings
+        proxy_redirect     off;
+        proxy_set_header   Host             $host;
+        proxy_set_header   X-Real-IP        $remote_addr;
+        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
+        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
+        proxy_max_temp_file_size 0;
+        proxy_connect_timeout      300;
+        proxy_send_timeout         300;
+        proxy_read_timeout         300;
+        proxy_buffer_size          4k;
+        proxy_buffers              4 32k;
+        proxy_busy_buffers_size    64k;
+        proxy_temp_file_write_size 64k;
+   }
+}
+```
+
 ### vhost/wechat_nginx.conf
 
 ```