springboot聚合工程的部署与深入讲解

目录

  • 1.什么是聚合工程
  • 2.聚合工程优势
  • 3.创建聚合工程
  • 4.父工程详解
    • 1.pom文件
  • 5.ruoyi-modules子工程配置
    • 1.pom文件
  • 总结

    1.什么是聚合工程
    如下图所示,拥有父子包结构的springboot工程叫做聚合工程。其中父包包括了多个子包(多个项目)。
    springboot聚合工程的部署与深入讲解
    文章图片


    2.聚合工程优势
    1. 组件化管理通用功能,动态的添加功能。
    2. 统一管理jar包的版本号
    3. 提高复用性
    【springboot聚合工程的部署与深入讲解】
    3.创建聚合工程 1.首先创建一个springboot项目,然后删除src文件夹 。
    2.创建子工程
    springboot聚合工程的部署与深入讲解
    文章图片

    选择spring boot项目,然后继续,创建项目。如果是工具,配置,组件化的项目(不需要启动)可以继续删除启动类和resources文件夹。
    springboot聚合工程的部署与深入讲解
    文章图片

    3. 修改父工程和子工程pom文件。然后聚合工程就搭建好了,这里最重点是pom文件的配置和标签,下文就开始介绍。

    4.父工程详解
    ps:这里以若依开源项目为例,结构如下,我们主要讲解红框里面的配置,父工程为RuoYi-Cloud,包括ruoyi-auth,ruoyi-gateway,ruoyi-visual,ruoyi-api,ruoyi-common子项目。而ruoyi-modules子工程也包括多个子工程。
    springboot聚合工程的部署与深入讲解
    文章图片



    1.pom文件

    4.0.0com.ruoyiruoyi2.5.0ruoyihttp://www.ruoyi.vip若依微服务系统2.5.0UTF-8UTF-81.82.3.7.RELEASEHoxton.SR92.2.5.RELEASE2.3.12.1.42.9.21.5.241.26.52.3.21.3.01.2.43.2.12.51.3.31.71.2.758.0.34.1.22.6.2org.springframework.cloudspring-cloud-dependencies${spring-cloud.version}pomimportcom.alibaba.cloudspring-cloud-alibaba-dependencies${spring-cloud-alibaba.version}pomimportorg.springframework.bootspring-boot-dependencies${spring-boot.version}pomimportde.codecentricspring-boot-admin-starter-client${spring-boot-admin.version}com.github.tobatofastdfs-client${tobato.version}org.mybatis.spring.bootmybatis-spring-boot-starter${spring-boot.mybatis}io.swaggerswagger-models${swagger.core.version}io.swaggerswagger-annotations${swagger.core.version}com.github.pengglekaptcha${kaptcha.version}com.github.pagehelperpagehelper-spring-boot-starter${pagehelper.boot.version}commons-iocommons-io${commons.io.version}org.apache.poipoi-ooxml${poi.version}commons-fileuploadcommons-fileupload${commons.fileupload.version}org.apache.velocityvelocity${velocity.version}commons-collectionscommons-collectionscom.alibabafastjson${fastjson.version}org.apache.commonscommons-pool2${common-pool.version}com.ruoyiruoyi-common-core${ruoyi.version}com.ruoyiruoyi-common-swagger${ruoyi.version}com.ruoyiruoyi-common-security${ruoyi.version}com.ruoyiruoyi-common-datascope${ruoyi.version}com.ruoyiruoyi-common-datasource${ruoyi.version}com.ruoyiruoyi-common-log${ruoyi.version}com.ruoyiruoyi-common-redis${ruoyi.version}com.ruoyiruoyi-api-system${ruoyi.version}ruoyi-authruoyi-gatewayruoyi-visualruoyi-modulesruoyi-apiruoyi-commonpomio.swaggerswagger-annotations1.5.10org.apache.maven.pluginsmaven-compiler-plugin${java.version}${java.version}${project.build.sourceEncoding}

    都是非必须,字面意思。:域 例如com:公司名groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的:项目的版本号:属性的占位符 如java中的常量 :在我们项目顶层的POM文件中,我们会看到dependencyManagement元素。通过它元素来管理jar包的版本,让子项目中引用一个依赖而不用显示的列出版本号。Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用在这个dependencyManagement元素中指定的版本号。:指定所有的子工程都下载该包。

    白话说 如果父工程有,且groupId和artifactId相同,那么子工程不需要指定版本号, 直接使用父工程版本号。
    例如:当子工程有groupId为org.springframework.cloud时,引用当前父工程指定版本。子工程不用在写版本号了。
    org.springframework.cloudspring-cloud-dependencies${spring-cloud.version}pomimport

    :指当前父工程包含的子工程 如果这里不引入 那么 刷新父工程pom时 子工程不会下载jar包
    :打包配置
    pom在聚合工程中 一定要配置 指的是在引入其他工程时 直接引入代码,否则就会打成jar包 这样就会报错了

    5.ruoyi-modules子工程配置
    这里我们选择一个最有代表性的子工程ruoyi-modules来介绍。
    1.pom文件

    com.ruoyiruoyi2.5.04.0.0ruoyi-systemruoyi-genruoyi-jobruoyi-fileruoyi-modulespomruoyi-modules业务模块

    这里主要配置是
    :内容就是父工程的
    :指该工程包含ruoyi-system,ruoyi-gen,ruoyi-job,ruoyi-file子工程
    2.ruoyi-system子项目配置
    com.ruoyiruoyi-modules2.5.04.0.0 ruoyi-modules-systemruoyi-modules-system系统模块 com.alibaba.cloudspring-cloud-starter-alibaba-nacos-discoverycom.alibaba.cloudspring-cloud-starter-alibaba-nacos-configcom.alibaba.cloudspring-cloud-starter-alibaba-sentinelorg.springframework.bootspring-boot-starter-actuatorio.springfoxspringfox-swagger-ui${swagger.fox.version}mysqlmysql-connector-javacom.ruoyiruoyi-common-datasourcecom.ruoyiruoyi-common-datascopecom.ruoyiruoyi-common-logcom.ruoyiruoyi-common-swagger${project.artifactId}org.springframework.bootspring-boot-maven-pluginrepackage

    :配置父工程ruoyi-modules的
    :本项目的依赖
    如果想引入其他工程,只需要加入:
    com.ruoyiruoyi-common-datascopecom.ruoyiruoyi-common-logcom.ruoyiruoyi-common-swagger


    总结 到此这篇关于springboot聚合工程的部署与讲解的文章就介绍到这了,更多相关springboot聚合工程部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

      推荐阅读