咱們將對common-service整個項目進行剖析,將整個構建的流程給記錄下來,讓更多的關注者來參考學習。html
首先在構建spring cloud的common-service以前,咱們須要準備的技術:java
Maven(項目構建)、Spring Boot、Spring Cloud、微服務概念、去中心化思想、分佈式等,針對於common-service的頂級項目,這裏咱們主要使用Maven來構建,閒話少說,咱們直接上代碼是最直觀的。web
1. 建立一個Maven的頂級項目,其中pom.xml文件配置以下:redis
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
|
<?xml version=
"1.0"
encoding=
"UTF-8"
?>
<project xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0
.
0
</modelVersion>
<parent>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>Dalston.RELEASE</version>
<relativePath />
</parent>
<groupId>com.ml.honghu</groupId>
<artifactId>particle-commonservice</artifactId>
<version>
0.0
.
1
-SNAPSHOT</version>
<packaging>pom</packaging>
<name>particle-commonservice</name>
<description>particle-commonservice project
for
Spring Boot</description>
<modules>
<module>particle-commonservice-config</module>
<module>particle-commonservice-eureka</module>
<module>particle-commonservice-mq</module>
<module>particle-commonservice-cache</module>
<module>particle-commonservice-sso</module>
<module>particle-commonservice-apigateway</module>
<module>particle-commonservice-zipkin</module>
<module>particle-commonservice-admin</module>
<module>particle-commonservice-turbine</module>
<module>particle-commonservice-combine</module>
<module>particle-commonservice-sequence</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-
8
</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-
8
</project.reporting.outputEncoding>
<java.version>
1.8
</java.version>
<!-- 框架通用包版本設置 -->
<validator.version>
5.3
.
4
.Final</validator.version>
<shiro.version>
1.2
.
3
</shiro.version>
<druid.version>
1.0
.
26
</druid.version>
<mybatis-spring.version>
1.2
.
2
</mybatis-spring.version>
<shiro.version>
1.2
.
3
</shiro.version>
<druid.version>
1.0
.
11
</druid.version>
<ehcache.version>
2.6
.
9
</ehcache.version>
<ehcache-web.version>
2.0
.
4
</ehcache-web.version>
<sitemesh.version>
2.4
.
2
</sitemesh.version>
<activiti.version>
5.15
.
1
</activiti.version>
<wink.version>
1.4
</wink.version>
<sso.client.version>
3.4
.
1
</sso.client.version> -->
<!-- 通用工具包版本設置 -->
<slf4j.version>
1.7
.
7
</slf4j.version>
<commons-lang3.version>
3.3
.
2
</commons-lang3.version>
<commons-io.version>
2.4
</commons-io.version>
<commons-codec.version>
1.9
</commons-codec.version>
<commons-fileupload.version>
1.3
.
1
</commons-fileupload.version>
<commons-beanutils.version>
1.9
.
1
</commons-beanutils.version>
<fastjson.version>
1.1
.
40
</fastjson.version>
<xstream.version>
1.4
.
7
</xstream.version>
<guava.version>
17.0
</guava.version>
<dozer.version>
5.5
.
1
</dozer.version>
<email.version>
1.4
.
7
</email.version>
<poi.version>
3.9
</poi.version>
<cglib.version>
3.2
.
5
</cglib.version>
<!-- aliyun -->
<aliyun-sdk-oss.version>
2.6
.
0
</aliyun-sdk-oss.version>
<aliyun-sdk-openservices-ons.version>
1.2
.
7
.Final</aliyun-sdk-openservices-ons.version>
<com.ml.honghu.componet.version>
0.0
.
1
-SNAPSHOT</com.ml.honghu.componet.version>
<spring-boot-admin.version>
1.5
.
1
</spring-boot-admin.version>
<fastjson.version>
1.2
.
35
</fastjson.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- spring cloud -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.RELEASE</version>
<type>pom</type>
<scope>
import
</scope>
</dependency>
<dependency>
<groupId>org.jasig.cas.client</groupId>
<artifactId>cas-client-core</artifactId>
<version>
3.4
.
1
</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>
2.5
.
0
</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui-hystrix</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui-turbine</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui-login</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui-activiti</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>
1.7
.
25
</version>
</dependency>
<dependency>
<groupId>com.ml.honghu</groupId>
<artifactId>component-base</artifactId>
<version>${com.ml.honghu.componet.version}</version>
</dependency>
<dependency>
<groupId>com.ml.honghu</groupId>
<artifactId>component-redis</artifactId>
<version>${com.ml.honghu.componet.version}</version>
</dependency>
<dependency>
<groupId>com.ml.honghu</groupId>
<artifactId>component-utils</artifactId>
<version>${com.ml.honghu.componet.version}</version>
</dependency>
<dependency>
<groupId>com.ml.honghu</groupId>
<artifactId>component-sequence-api</artifactId>
<version>${com.ml.honghu.componet.version}</version>
</dependency>
<dependency>
<groupId>com.ml.honghu</groupId>
<artifactId>component-admin-ui-zipkin</artifactId>
<version>${com.ml.honghu.componet.version}</version>
</dependency>
<dependency>
<groupId>com.ml.honghu</groupId>
<artifactId>component-admin-ui-route</artifactId>
<version>${com.ml.honghu.componet.version}</version>
</dependency>
<dependency>
<groupId>com.ml.honghu</groupId>
<artifactId>component-zuul-label</artifactId>
<version>${com.ml.honghu.componet.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
|
當前的pom.xml文件引入了spring cloud相關版本配置,通用工具版本配置,honghu相關組件配置(由於其餘的系統服務項目依賴於相關的組件,組件項目也是後面來建立的)spring
從如今開始,我這邊會將近期研發的spring cloud微服務雲架構的搭建過程和精髓記錄下來,幫助更多有興趣研發spring cloud框架的朋友,你們來一塊兒探討spring cloud架構的搭建過程及如何運用於企業項目。apache
資料和源碼來源地址json
Spring Cloud大型企業分佈式微服務雲架構源碼請加企鵝求求:一七九一七四三三八零
api