Java B2B2C多用户商城 springcloud架构- common-service 项目构建过程(七)

我们将对common-service整个项目进行剖析,将整个构建的流程给记录下来,让更多的关注者来参考学习。

首先在构建spring cloud的common-service之前,我们需要准备的技术:

Maven(项目构建)、Spring Boot、Spring Cloud、微服务概念、去中心化思想、分布式等,针对于common-service的顶级项目,这里我们主要使用Maven来构建,闲话少说,我们直接上代码是最直观的。

1. 创建一个Maven的顶级项目,其中pom.xml文件配置如下:

<?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 cloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。

完整项目的源码来源 技术支持2147775633

原文地址:https://www.cnblogs.com/leafitit/p/10107910.html

时间: 2024-11-02 04:42:02

Java B2B2C多用户商城 springcloud架构- common-service 项目构建过程(七)的相关文章

Java B2B2C多用户商城 springcloud架构- 企业云架构common-service代码结构分析(六)

当前的分布式微服务云架构平台使用Maven构建,所以common-service的通用服务按照maven构建独立的系统服务,结构如下: particle-commonservice: spring cloud 系统服务根项目,所有服务项目的根依赖. particle-commonservice-admin: spring cloud/boot的微服务管理.监控平台(里面会集成很多的组件服务项目) particle-commonservice-apigateway:API网关通用服务项目,所有的请

Java B2B2C多用户商城 springcloud架构-云架构代码结构构建(五)

上一篇介绍了<整合spring cloud云服务架构 - 企业分布式微服务云架构图>,本篇我们根据架构图进行代码的构建.根据微服务化设计思想,结合spring cloud一些优秀的项目,如服务发现.治理.配置化管理.路由负载.安全控制等优秀解决方案,使用Maven技术将框架进行模块化.服务化.原子化封装并构建,也为后期的灰度发布.持续集成提前做好准备工作. 另外在搭建环境之前,大家需要熟练掌握maven的使用及相关问题的处理(这里不再重复介绍). Spring Cloud云架构使用maven来

Java B2B2C多用户商城 springcloud架构 - commonservice-eureka 项目构建过程(八)

我们针对于HongHu cloud的eureka项目做以下构建,整个构建的过程很简单,我会将每一步都构建过程记录下来,希望可以帮助到大家: 1. 创建一个名为particle-common-eureka的maven项目,继承particle-commonservice,具体的pom.xml配置文件如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.

Java B2B2C多用户商城 springcloud架构-docker-feign配置(五)

简介 上一节我们讨论了怎么用feign声明式调用cloud的生产者,这节我们讨论一下feign配置,通过编写配置类,我们可以自定义feign的日志级别,日志扫描目录,可以通过feign调用服务在eureka上的调用信息 feign声明接口之后,在代码中通过@Resource或者@Autowired注入之后即可使用. @FeignClient标签的常用属性如下: name:指定FeignClient的名称,如果项目使用了Ribbon,name属性会作为微服务的名称,用于服务发现 url: url一

Java B2B2C多用户商城 springcloud架构-SSO单点登录之OAuth2.0登录流程

上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个简单的流程图(根据用户名+密码实现OAuth2.0的登录认证): ? ?上面的图很清楚的描述了当前登录login的流程,现在我们针对于login做成相关的微服务,解析如下:请求方式:POST服务URL: http://localhost:8080/user/login参数类型:application/json Headers: Content-Typ

(十二)Java B2B2C多用户商城 springboot架构-SSO单点登录之OAuth2.0

上一篇我根据框架中OAuth2.0的使用总结,画了一个根据用户名+密码实现OAuth2.0的登录认证的流程图,今天我们看一下logout的流程: /** * 用户注销 * @param accessToken * @return */ @RequestMapping(value = "/user/logout", method = RequestMethod.POST) public ResponseVO userLogout(@RequestHeader(value = "

Java B2B2C多用户商城 springboot架构-config-bus(十三)

简介 当我们的业务系统越来越庞大复杂的时候,各种配置就会层出不群.一旦配置修改了,那么我们就是必须修改后停服务,然后再上线,如果服务少,我们可以手动来操作,如果是成千上百的服务,如果是手动操作,肯定就不合适宜了,然后SpringCloudConfig就出来了,就是我们通常意义上的配置中心,把应用原本放在本地文件的配置抽取出来放在中心服务器,从而能够提供更好的管理.发布能力.Java B2B2C多用户商城 springboot架构-config-bus(十三) SpringCloudConfig分

(十二)Java B2B2C多用户商城 springboot架构-SSO单点登录之OAuth2.0 登出流程(3)

上一篇我根据框架中OAuth2.0的使用总结,画了一个根据用户名+密码实现OAuth2.0的登录认证的流程图,今天我们看一下logout的流程: /** * 用户注销 * @param accessToken * @return */ @RequestMapping(value = "/user/logout", method = RequestMethod.POST) public ResponseVO userLogout(@RequestHeader(value = "

(十四) Java B2B2C多用户商城 springboot架构- Spring Cloud构建分布式电子商务平台

通过Spring Cloud构建PC+微信+APP+云服务的云商平台系统,其中包括B2B.B2C.C2C.O2O.新零售.直播电商等子平台,之前我们讲了很多关于Spring Cloud的概念文章,从本节开始,我们会以分布式微服务电子商务平台为案例,逐步给大家讲解如何构建完整的电子商务云平台. 技术解决方案 开发语言: java 数据库:mysql JDK支持版本: JDK1.8 核心技术:分布式.云服务.微服务.服务编排 核心架构: 使用Spring Cloud分布式微服务云架构进行服务化开发,