SpringBoot聚合项目总结

在这里插入图片描述

文章目录

  • 一、聚合项目架构
  • 二、依赖传递图解
    • 2.1. 常见场景
    • 2.2. 企业场景
  • 三、结构设计原则
    • 3.1. 模块层次清晰
    • 3.2. 模块之间耦合度低
    • 3.3. 功能互不影响
    • 3.4. 定位问题效率高
    • 3.5. 灵活易扩展
  • 四、架构设计优点
    • 4.1. 统一规范
    • 4.2. 版本统一管理
      • 4.2.1. 模块版本统一管理
      • 4.2.2. 依赖版本统一控制
  • 五、父工程构成
    • 5.1. 独有pom
    • 5.2. pom组成部分
      • ①SpringBoot 父项目
      • ② 版本控制标签` `
      • ③子工程
      • ④父项目标识
      • ⑤编译扫描插件
  • 六、子工程构成
    • 6.1. aggregation-web
    • 6.2. 常见即可

一、聚合项目架构

工程结构说明父/子工程
aggregation-parent全局版本控制模块
aggregation-web服务统一访问入口
aggregation-flowable工作流引擎模块
aggregation-system核心系统模块
aggregation-service业务逻辑核心模块
aggregation-interface公用API接口模块
aggregation-core公共技术核心模块

二、依赖传递图解

2.1. 常见场景

aggregation-core->aggregation-interface->aggregation-service->aggregation-web

2.2. 企业场景

core->interface->service    -> flowable ->web->system  

三、结构设计原则

3.1. 模块层次清晰

3.2. 模块之间耦合度低

3.3. 功能互不影响

3.4. 定位问题效率高

3.5. 灵活易扩展

四、架构设计优点

4.1. 统一规范

4.2. 版本统一管理

4.2.1. 模块版本统一管理

只需在父工程设置版本号,其他子工程无需再次设置版本号

4.2.2. 依赖版本统一控制

①公用依赖统一在父工程中进行版本控制,其他子工程依赖传递即可
②每个子工程,独有的依赖,也就是此以来只有你的模块用到,在自己的模块直接集成即可。

五、父工程构成

5.1. 独有pom

5.2. pom组成部分

①SpringBoot 父项目

 <!--SpringBoot parent基础嘉集成初始化内置--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.2.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent>

② 版本控制标签<properties> </properties>

 <properties><!--全局编码设置--><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><!--JDK版本--><java.version>1.8</java.version><!--全局版本管理--><mysql-connector-java.version>8.0.13</mysql-connector-java.version><maven-resources.version>3.1.0</maven-resources.version><maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version></properties>

③子工程

 <!--子工程--><modules><!--业公共技术核心模块--><module>aggregation-core</module><!--公用API接口模块--><module>aggregation-interface</module><!--业务逻辑核心模块--><module>aggregation-service</module><!--核心系统模块--><module>aggregation-system</module><!--工作流引擎模块--><module>aggregation-flowable</module><!--服务统一访问入口--><module>aggregation-web</module></modules>

④父项目标识

    <groupId>com.gblfy</groupId><artifactId>aggregation-parent</artifactId><version>0.0.1-SNAPSHOT</version>

⑤编译扫描插件

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>${java.version}</source><target>${java.version}</target></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>3.1.0</version><configuration><delimiters><delimiter>@</delimiter></delimiters><useDefaultDelimiters>false</useDefaultDelimiters></configuration></plugin></plugins><resources><resource><directory>src/main/webapp</directory><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><filtering>true</filtering></resource><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource></resources></build>

六、子工程构成

6.1. aggregation-web

<build><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals></execution></executions><configuration><fork>true</fork><!-- 如果没有该项配置,devtools不会起作用,即应用不会restart --></configuration></plugin></plugins></build>

6.2. 常见即可

此pom配置可以解决登录404问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

容器精华问答 | 虚拟机和容器的区别是什么?

戳蓝字“CSDN云计算”关注我们哦&#xff01;云计算的发展日新月异&#xff0c;新技术层出不穷&#xff0c;尤其容器技术自2013年Docker容器问世以来一路高歌猛进红遍大江南北&#xff0c;与虚拟机相比&#xff0c;容器更显优势&#xff0c;有着更轻量、更快捷、占用资源更少&a…

战神笔记本电脑自带access吗_笔记本电脑卡顿不要急着换,这几个方法,让你的电脑流畅爆表...

电脑现在无论是学生还是上班族都成为了不可或缺的一个东西&#xff0c;笔记本电脑更是成为很多人的宠爱&#xff0c;方便携带。但是很多人的电脑都会面临一个问题&#xff0c;就是笔记本电脑使用没多久就开始卡顿&#xff0c;越来越不流畅。 …

一文看清深圳云栖阿里云重磅产品发布

摘要&#xff1a; 成立九年之后&#xff0c;阿里云不再仅仅是提供计算、存储、网络、安全。 事实上&#xff0c;我们每一天都有新功能在发布。 本文就和大家梳理一下&#xff0c;阿里云此次深圳云栖在云计算、大数据、人工智能、物联网方面的技术产品进展。 成立九年之后&#…

工作流实战_23_flowable 任务监听器 事件监听器

项目地址&#xff1a;https://gitee.com/lwj/flowable.git 分支flowable-base 视频讲解地址 https://www.bilibili.com/video/av79328344 监听器 任务监听器 针对userTask节点 事件监听器 针对任意节点 由于实际情况下我们会在节点会动态调用业务系统的接口去改变业务单据的状态…

pcb设计等长线误差_17种元器件PCB封装图鉴,美翻了(附PCB元件库)

元器件封装的构建是PCB设计中的一个重要环节&#xff0c;小小的一个错误很可能导致整个板子都不能工作以及工期的严重延误。常规器件的封装库一般CAD工具都有自带&#xff0c;也可以从器件原厂的设计文档、参考设计源图中获取。封装名称与图形如下No.1晶体管No.2晶振No.3电感No…

云计算风起云涌,超融合恰逢其时!

戳蓝字“CSDN云计算”关注我们哦&#xff01;“关于超融合市场&#xff0c;确实有一些声音。比如说市场很小&#xff0c;着手做这个业务方向会不会意味着未来堪忧&#xff1f;是不是没有前途&#xff1f;”深信服云BG总经理宋锐打趣说道。“这个问题&#xff0c;要站在客户的角…

Quick BI助力云上大数据分析---深圳云栖大会

摘要&#xff1a; 在3月29日深圳云栖大会的数据分析与可视化专场中&#xff0c;阿里云产品专家陌停对大数据智能分析产品 Quick BI 进行了深入的剖析。大会现场的精彩分享也赢得观众们的一直认可和热烈的反响。 大数据分析之路的挑战与期望 阿里巴巴作为一家大数据公司&#xf…

怎么添加一个程序集_门店小程序,微信小程序怎么添加店铺

现今随着互联网发展&#xff0c;越来越多选择网上购物代替实体店购物&#xff0c;微信作为最多人使用的社交软件&#xff0c;他的商机也被许多企业商家发展&#xff0c;进入微信分销小程序购物是现在最流行的购物方式&#xff0c;驱使很多实体店也纷纷加盟进驻门店分销小程序&a…

阿里云Quick BI——让人人都成为分析师

摘要&#xff1a; 在3月29日深圳云栖大会的数据分析与可视化专场中&#xff0c;阿里云产品专家潘炎峰&#xff08;陌停&#xff09;对大数据智能分析产品 Quick BI 进行了深入的剖析。大会现场的精彩分享也赢得观众们的一直认可和热烈的反响。 Quick BI诞生于阿里巴巴集团自身对…

华为已找到安卓才“替代品”?马云马斯克激辩人工智能未来;微软说:麻将AI系统终获突破;扭亏!中兴通讯上半年净利14.71亿……...

戳蓝字“CSDN云计算”关注我们哦&#xff01;嗨&#xff0c;大家好&#xff0c;重磅君带来的【云重磅】特别栏目&#xff0c;如期而至&#xff0c;每周五第一时间为大家带来重磅新闻。把握技术风向标&#xff0c;了解行业应用与实践&#xff0c;就交给我重磅君吧&#xff01;重…

Python的基本数据类型和数据类型的转换

TOC 数据类型 类型查看 type 可以使用type内置函数查看变量所指的对象类型 a1 b1.0 c"1" d1, e[1] f{1:1} g{1}print(type(a)) print(type(b)) print(type(c)) print(type(d)) print(type(e)) print(type(f)) print(type(g))isinstance **如字面意思,isinstance()…

法拉克机器人自动怎么调_在使用钢网印刷SMT贴片红胶时全自动印刷机的参数怎么调?...

电子厂在使用新钢网印刷作业时&#xff0c;都需要校正钢网位置&#xff0c;调整印刷机的的压力&#xff0c;印刷速度等&#xff0c;如果调对了参数即可以省红胶又可以使印刷效果达到完美。可以做到事半功倍效果。SMT贴片印刷机参数调整注意事项(1) 压力在4.5公斤左右(2) 红胶加…

CDN高级技术专家周哲:深度剖析短视频分发过程中的用户体验优化技术点

摘要&#xff1a; 深圳云栖大会已经圆满落幕&#xff0c;在3月29日飞天技术汇-弹性计算、网络和CDN专场中&#xff0c;阿里云CDN高级技术专家周哲为我们带来了《海量短视频极速分发》的主题分享&#xff0c;带领我们从视频内容采集、上传、存储和分发的角度介绍整体方案&#x…

flink开发案例_为什么说 Flink + AI 值得期待?

作者&#xff1a;秦江杰去年 11 月的 Flink Forward Asia 2019&#xff08;以下简称 FFA&#xff09; 上 Flink 社区提出了未来发展的几个主要方向&#xff0c;其中之一就是拥抱 AI [1]。实际上&#xff0c;近年来 AI 持续火热&#xff0c;各种计算框架、模型和算法层出不穷&am…

工作流实战_25_flowable 流程中的自动跳过

项目地址&#xff1a;https://gitee.com/lwj/flowable.git 分支flowable-base 背景&#xff1a;在实际场景中&#xff0c;我们往往会有这样的需求&#xff0c;当流程到达某一个节点的时候&#xff0c;我们让其自动的跳过去&#xff0c;不做任何操作。 如&#xff1a; 1、当当前…

阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1

摘要&#xff1a; 全球开源区块链领域影响最为广泛的Hyperledger Fabric日前宣布了1.1版本的正式发布&#xff0c;带来了一系列丰富的新功能以及在安全性、性能与扩展性等方面的显著提升。阿里云容器服务区块链解决方案第一时间同步升级&#xff0c;在v1.1新功能的基础上&#…

福利 | 送你一张通往「2019 AI开发者大会」的门票

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼&#xff0c;如今蓄势待发&#xff1a;2019年9月6-7日&#xff0c;大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京&#xff0c;进行技术解读和产业论证。…

直接内存与元空间_深入浅出 JVM 内存管理

Java岗位面试,JVM是对程序员基本功考察,通常会问你对JVM了解吗?可以分几部分回答这个问题,首先JVM内存划分 | JVM垃圾回收的含义 | 有哪些GC算法 以及年轻代和老年代各自特点等等。1) JVM内存划分:① 方法区 (线程共享) 常量 静态变量 JIT(即时编译器)编译后代码也在方法区存放…

如何快速成长为技术大牛?阿里资深技术专家的总结亮了

摘要&#xff1a; 写在前面 不管是开发、测试、运维&#xff0c;每个技术人员心里多多少少都有一个成为技术大牛的梦&#xff0c;毕竟“梦想总是要有的&#xff0c;万一实现了呢”&#xff01;正是对技术梦的追求&#xff0c;促使我们不断地努力和提升自己。 然而“梦想是美好的…

blob字段乱码怎么处理_下载的附件名总乱码?你该去读一下 RFC 文档了!

纸上得来终觉浅&#xff0c;绝知此事要躬行Web 开发过程中&#xff0c;相信大家都遇到过附件下载的场景&#xff0c;其中&#xff0c;各浏览器下载后的文件名中文乱码问题或许一度让你苦恼不已。网上搜索一下&#xff0c;大部分都是通过Request Headers中的UserAgent字段来判断…