We will analyze the whole project of common-Service and record the whole construction process for more followers to reference and learn.

First, before building common-Service of Spring Cloud, we need to prepare the following techniques:

Maven (Project Construction), Spring Boot, Spring Cloud, microservice concept, decentralization, distribution, etc., for the top project of common-Service, here we mainly use Maven to build, without further talk, we directly on the code is the most intuitive.

  1. Create a top-level project for Maven with the pom.xml file configured as follows:

  2. <? The XML version = "1.0" encoding = "utf-8"? >Copy the code

    4.0.0 org. Springframework. Cloud spring – the cloud – starter – parent Dalston. RELEASE

     <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>  
    Copy the code

The current POM.xml file introduces spring Cloud related version configuration, common tool version configuration, honghu related component configuration (because other system service projects depend on related components, component projects are also created later)

From now on, I will record the construction process and essence of spring Cloud micro-service cloud architecture recently developed, so as to help more friends who are interested in developing Spring Cloud framework to discuss the construction process of Spring Cloud architecture and how to apply it to enterprise projects.