spring cloud架构 - HongHu common-service 项目构建过程

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

我们将对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架构的搭建过程及如何运用于企业项目。

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

目录
相关文章
|
6月前
|
人工智能 Java Nacos
基于 Spring AI Alibaba + Nacos 的分布式 Multi-Agent 构建指南
本文将针对 Spring AI Alibaba + Nacos 的分布式多智能体构建方案展开介绍,同时结合 Demo 说明快速开发方法与实际效果。
4779 91
|
7月前
|
人工智能 Java API
构建基于Java的AI智能体:使用LangChain4j与Spring AI实现RAG应用
当大模型需要处理私有、实时的数据时,检索增强生成(RAG)技术成为了核心解决方案。本文深入探讨如何在Java生态中构建具备RAG能力的AI智能体。我们将介绍新兴的Spring AI项目与成熟的LangChain4j框架,详细演示如何从零开始构建一个能够查询私有知识库的智能问答系统。内容涵盖文档加载与分块、向量数据库集成、语义检索以及与大模型的最终合成,并提供完整的代码实现,为Java开发者开启构建复杂AI智能体的大门。
4370 58
|
6月前
|
缓存 监控 Java
《深入理解Spring》性能监控与优化——构建高性能应用的艺术
本文系统介绍了Spring生态下的性能监控与优化实践,涵盖监控体系构建、数据库调优、缓存策略、线程池配置及性能测试等内容,强调通过数据驱动、分层优化和持续迭代提升应用性能。
|
6月前
|
负载均衡 Java API
《深入理解Spring》Spring Cloud 构建分布式系统的微服务全家桶
Spring Cloud为微服务架构提供一站式解决方案,涵盖服务注册、配置管理、负载均衡、熔断限流等核心功能,助力开发者构建高可用、易扩展的分布式系统,并持续向云原生演进。
|
7月前
|
Java 数据库 数据安全/隐私保护
Spring Boot四层架构深度解析
本文详解Spring Boot四层架构(Controller-Service-DAO-Database)的核心思想与实战应用,涵盖职责划分、代码结构、依赖注入、事务管理及常见问题解决方案,助力构建高内聚、低耦合的企业级应用。
1477 1
|
7月前
|
XML Java 测试技术
使用 Spring 的 @Import 和 @ImportResource 注解构建模块化应用程序
本文介绍了Spring框架中的两个重要注解`@Import`和`@ImportResource`,它们在模块化开发中起着关键作用。文章详细分析了这两个注解的功能、使用场景及最佳实践,帮助开发者构建更清晰、可维护和可扩展的Java应用程序。
354 0
|
7月前
|
Kubernetes Java 微服务
Spring Cloud 微服务架构技术解析与实践指南
本文档全面介绍 Spring Cloud 微服务架构的核心组件、设计理念和实现方案。作为构建分布式系统的综合工具箱,Spring Cloud 为微服务架构提供了服务发现、配置管理、负载均衡、熔断器等关键功能的标准化实现。本文将深入探讨其核心组件的工作原理、集成方式以及在实际项目中的最佳实践,帮助开发者构建高可用、可扩展的分布式系统。
648 0
|
SpringCloudAlibaba API 开发者
新版-SpringCloud+SpringCloud Alibaba
新版-SpringCloud+SpringCloud Alibaba
|
负载均衡 Dubbo Java
Spring Cloud Alibaba与Spring Cloud区别和联系?
Spring Cloud Alibaba与Spring Cloud区别和联系?
|
人工智能 SpringCloudAlibaba 自然语言处理
SpringCloud Alibaba AI整合DeepSeek落地AI项目实战
在现代软件开发领域,微服务架构因其灵活性、可扩展性和模块化特性而受到广泛欢迎。微服务架构通过将大型应用程序拆分为多个小型、独立的服务,每个服务运行在其独立的进程中,服务与服务间通过轻量级通信机制(通常是HTTP API)进行通信。这种架构模式有助于提升系统的可维护性、可扩展性和开发效率。
5056 2