千家信息网

springboot聚合工程是什么意思

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,小编给大家分享一下springboot聚合工程是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.什么是聚合工程如
千家信息网最后更新 2025年01月17日springboot聚合工程是什么意思

小编给大家分享一下springboot聚合工程是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    1.什么是聚合工程

    如下图所示,拥有父子包结构的springboot工程叫做聚合工程。其中父包包括了多个子包(多个项目)。

    2.聚合工程优势

    1. 组件化管理通用功能,动态的添加功能。

    2. 统一管理jar包的版本号

    3. 提高复用性

    3.创建聚合工程

    1.首先创建一个springboot项目,然后删除src文件夹 。

    2.创建子工程

    选择spring boot项目,然后继续,创建项目。如果是工具,配置,组件化的项目(不需要启动)可以继续删除启动类和resources文件夹。

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

    4.父工程详解

    ps:这里以若依开源项目为例,结构如下,我们主要讲解红框里面的配置,父工程为RuoYi-Cloud,包括ruoyi-auth,ruoyi-gateway,ruoyi-visual,ruoyi-api,ruoyi-common子项目。而ruoyi-modules子工程也包括多个子工程。

    1.pom文件

        4.0.0    com.ruoyi    ruoyi    2.5.0    ruoyi    http://www.ruoyi.vip    若依微服务系统            2.5.0        UTF-8        UTF-8        1.8        2.3.7.RELEASE        Hoxton.SR9        2.2.5.RELEASE                2.3.1        2.1.4        2.9.2        1.5.24        1.26.5        2.3.2        1.3.0        1.2.4        3.2.1        2.5        1.3.3        1.7        1.2.75        8.0.3                4.1.2        2.6.2                                                            org.springframework.cloud                spring-cloud-dependencies                ${spring-cloud.version}                pom                import                                                                com.alibaba.cloud                spring-cloud-alibaba-dependencies                ${spring-cloud-alibaba.version}                pom                import                                                    org.springframework.boot                spring-boot-dependencies                ${spring-boot.version}                pom                import                                                                            de.codecentric                spring-boot-admin-starter-client                ${spring-boot-admin.version}                                                                            com.github.tobato                fastdfs-client                ${tobato.version}                                                                            org.mybatis.spring.boot                mybatis-spring-boot-starter                ${spring-boot.mybatis}                                                                            io.swagger                swagger-models                ${swagger.core.version}                                        io.swagger                swagger-annotations                ${swagger.core.version}                                                    com.github.penggle                kaptcha                ${kaptcha.version}                                                    com.github.pagehelper                pagehelper-spring-boot-starter                ${pagehelper.boot.version}                                                    commons-io                commons-io                ${commons.io.version}                                                    org.apache.poi                poi-ooxml                ${poi.version}                                                    commons-fileupload                commons-fileupload                ${commons.fileupload.version}                                                    org.apache.velocity                velocity                ${velocity.version}                                                            commons-collections                        commons-collections                                                                                        com.alibaba                fastjson                ${fastjson.version}                                                                org.apache.commons                commons-pool2                ${common-pool.version}                                                        com.ruoyi                ruoyi-common-core                ${ruoyi.version}                                                                            com.ruoyi                ruoyi-common-swagger                ${ruoyi.version}                                                                    com.ruoyi                ruoyi-common-security                ${ruoyi.version}                                                                    com.ruoyi                ruoyi-common-datascope                ${ruoyi.version}                                                                com.ruoyi                ruoyi-common-datasource                ${ruoyi.version}                                                                            com.ruoyi                ruoyi-common-log                ${ruoyi.version}                                                                            com.ruoyi                ruoyi-common-redis                ${ruoyi.version}                                                                            com.ruoyi                ruoyi-api-system                ${ruoyi.version}                                                                    ruoyi-auth                ruoyi-gateway                ruoyi-visual                ruoyi-modules                ruoyi-api                ruoyi-common        pom                                io.swagger            swagger-annotations            1.5.10                                                    org.apache.maven.plugins                maven-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.cloud        spring-cloud-dependencies        ${spring-cloud.version}        pom        import    

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

    5.ruoyi-modules子工程配置

    这里我们选择一个最有代表性的子工程ruoyi-modules来介绍。

    1.pom文件

                com.ruoyi        ruoyi        2.5.0        4.0.0            ruoyi-system        ruoyi-gen        ruoyi-job        ruoyi-file        ruoyi-modules    pom            ruoyi-modules业务模块    

    这里主要配置是

    :内容就是父工程的
    :指该工程包含ruoyi-system,ruoyi-gen,ruoyi-job,ruoyi-file子工程

    2.ruoyi-system子项目配置

                com.ruoyi        ruoyi-modules        2.5.0        4.0.0            ruoyi-modules-system            ruoyi-modules-system系统模块                                                            com.alibaba.cloud            spring-cloud-starter-alibaba-nacos-discovery                                            com.alibaba.cloud            spring-cloud-starter-alibaba-nacos-config                                                com.alibaba.cloud            spring-cloud-starter-alibaba-sentinel                                                org.springframework.boot            spring-boot-starter-actuator                                                    io.springfox            springfox-swagger-ui            ${swagger.fox.version}                                                    mysql            mysql-connector-java                                            com.ruoyi            ruoyi-common-datasource                                            com.ruoyi            ruoyi-common-datascope                                            com.ruoyi            ruoyi-common-log                                            com.ruoyi            ruoyi-common-swagger                        ${project.artifactId}                                    org.springframework.boot                spring-boot-maven-plugin                                                                                        repackage                                                                                       

    :配置父工程ruoyi-modules的
    :本项目的依赖

    如果想引入其他工程,只需要加入:

                        com.ruoyi            ruoyi-common-datascope                                            com.ruoyi            ruoyi-common-log                                            com.ruoyi            ruoyi-common-swagger        

    以上是"springboot聚合工程是什么意思"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

    工程 项目 版本 配置 文件 元素 意思 内容 多个 子项 子项目 篇文章 管理 不用 功能 文件夹 模块 父子 系统 组件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 长宁区创新软件开发常见问题 进化2还有服务器吗 竹鼠软件开发有限公司 架设电视升级服务器 cofer数据库 在前期怎么支撑起数据库 云数据库配置错误的风险 智慧城市 基础数据库 渤海银行软件开发好进吗 机房服务器安全检查表 软件开发虚拟仿真实验室 组态王开放数据库访问 戴尔服务器更新如何设置代理 网络安全干预措施 航空摄影测量基础数据库建设 配置mysql数据库连接 数据库怎么判断是否有扩展 设计一个考勤数据库系统 幽灵行动断点连不上ub服务器 linux服务器工程师 准准互联网科技有限公司 灌云选择网络技术专业服务 服务器一般多少人同时登陆 依托金融网络技术平台 浙江hpe塑合型服务器虚拟主机 泓海新网络技术有限公司 网吧信息网络安全管理制度 大数据软件开发工程师哪个好 网络安全辅警个人工作总结 数据库表达式表示某人的年龄
    0