Integrating spring cloud cloud service architecture - common service project construction process

Keywords: Mobile Spring Maven xml Shiro

We will analyze the whole project of common service, record the whole construction process, and let more people to learn.

First, before building the common service of spring cloud, we need to prepare the following technologies:

Maven (project construction), Spring Boot, Spring Cloud, microservice concept, decentralization idea, distribution, etc. for the top-level projects of common service, here we mainly use Maven to build, with less gossiping, we directly access the code is the most intuitive.

  1. Create a top-level project of Maven, where the pom.xml file is configured as follows:

Xml code collection code

<?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>  

        <!-- Framework general package version settings -->  
        <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> -->  

        <!-- General kit version settings -->  
        <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>  

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

From now on, I will record the construction process and essence of the recently developed spring cloud microservice Cloud Architecture to help more friends who are interested in developing the spring cloud framework, and those who have the needs of spring cloud b2b2c e-commerce can ask for it: 103874626, let's discuss the construction process and how to use the spring cloud architecture For enterprise projects.

Posted by Bertholt on Mon, 25 Nov 2019 06:36:01 -0800