Maven——分模块开发与设计(重点)

news2025/7/20 6:03:21

目录

一、模块拆分

 1.1 模块拆分思想

  1.2  pojo模块拆分

 1.3  dao模块拆分

 1.4 service模块拆分

 1.5 controller模块拆分

二、 聚合——模块聚合

三、继承——模块继承


一、模块拆分

 1.1 模块拆分思想

左侧:我们从前的架构,一个人独立做的所有工作文件都在src目录下

右侧:以后我们的工程都会按照模块化开发,通过多模块的合作,来完成我们的项目

 

 

  1.2  pojo模块拆分

按照下面的图示进行操作,真的非常简单

 

注意这个地方的parent我们先设置一个None,这个地方我们后面会说

 

如果进到这个页面发现下面的包没有颜色,不要着急,点击OK即可,然后再进入这个页面就行了

 注意看 我下面这个包就留了一个java包,其他全部删掉(键盘delete)

 

如下图所示,我们就可以在下面这个包里面写关于pojo的代码了,各种实体类

 

 

 

 1.3  dao模块拆分

 

和上面一个样子,依然是创建一个新的模块,在这个模块完成对数据库的访问和操作

接下来我们就可以编写有关dao层的代码 ,如果有资源的需要的娿,可以再保存一个resources包

 

因为我们这是里dao层,一般会在pom文件中应该添加响应的坐标,用什么添加什么就好了

除此之外,我们这个地方还会爆红!

 说明:因为我们的dao层一般会用到实体类,如若是下图,则还需要一个User实体类,但是User实体类并不在我们下面这个项目中,而是在ssm_pojo层

 

 

 那这该怎么办呢?

      找到ssm_pojo的pom文件,将红色箭头指向的三行全部复制

 

然后在ssm_dao中以资源的形式导入,非常的巧妙

  

     但是!!!在上面这个操作之前,我们应该先把ssm_pojo下载到仓库中,否则是访问不到的,因为maven是从仓库中找资源

      其他的资源我们可以下载,但是ssm_pojo没有办法下载,因为这是我们自己写的(自定义),所以在仓库中找不到也下载不了,只能我们手动install到本地仓库

      简洁的说:我们引入的依赖要保证仓库中有

 

此时对ssm_dao编译,如果能通过,便能使用

 1.4 service模块拆分

创建模块

    这个地方的包想删除的可以删除一下

 

在此之前,我们应该把ssm_dao加载到我们的仓库当中(install,和上面一模一样)

导入其他模块的依赖(导入dao模块,不用导入pojo,在dao中已经导入了)

 1.5 controller模块拆分

创建maven的ssm_controller模块,在pom.xml文件中引用我们所需要的模块

在导入下面这个坐标之前,先将ssm_service下载到本地库

 

二、 聚合——模块聚合

  比如说,我们ssm_dao模块修改了,但是没有通知其他模块,这显然会造成其他模块的错误

  为了避免这种错误,我们将所有的功能模块都交给一个大的模块管理,完成所谓的聚合

这个模块不是为了完成具体的功能用的,仅仅是为了完成管理用的

 只留下一个pom.xml文件即可

 

 

如果不写打包方式,就默认打包成jar包的方式

    <packaging>jar</packaging>
    <packaging>pom</packaging>  //专门用来做聚合工程用的

controller层是一个war包,ssm层是一个pom包,其他的默认就可

 

三、继承——模块继承

作用:子工程沿用父工程中的配置

 

 将所有的依赖都放到ssm的pom.xml文件夹下

 

在其他模块中定义该工程的父工程(改造所有的子模块)

 

如果ssm配置文件中有有关插件的配置,可采取下面这种方式

 

父工程管理,子工程统一引用,子工程引用的时候,将所有的版本号删除,听从父工程的

 以后整体改造的时候,直接在父工程中换版本就可以,简单方便效率高 

下图中没有version标签

 

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

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

相关文章

shell脚本的条件判断1:字符串和数字和比较

前言 写脚本时&#xff0c;为了让脚本更接近人类思考问题的方式&#xff0c;可以对各种情况进行判断。例如&#xff0c;经常需要判断某些条件是否成立&#xff0c;如果条件成立该如何处理&#xff0c;如果条件不成立又该如何处理&#xff0c;这些都可以通过Shell脚本的if语句结…

大数据_什么是数据中台?

目录 一、数据中台的定义 二、数据中台必备的是个核心能力 三、数据中台VS业务中台 四、数据中台VS数据仓库 五、数据中台VS现有信息架构 六、数据中台的业务价值与技术价值 一、数据中台的定义 数据中台是一套可持续“让企业的数据用起来”的机制&#xff0c;是一种战略…

vm的生命周期钩子

vm的生命周期钩子&#xff08;共11个&#xff09;&#xff1a; 前8个&#xff1a; 将要创建>调用beforeCreate函数 创建完毕>调用created函数 将要挂载>调用beforeMount函数 &#xff08;重要&#xff09;挂载完毕>调用mounted函数>【重要钩子】 将要更新…

用户画像洞察分类模型 - 前端页面展示

文章目录一、前端与数据智能二、 体验优化需求场景跳失预测交互偏好智能 UI三、 关键技术鲸幂 UICook&#xff08;智能UI&#xff09;DataCookPipCookPipeline四、 体验优化实践数据智能实践的一般流程数据采集数据分析 -如何对数据进行分析处理并得出结论数据应用 - 分析结论如…

【C++】string类接口的了解和使用

为什么我们要学string类呢&#xff1f;那是必须是为了方便啊&#xff01;在C语言中&#xff0c;我们创建一个字符串&#xff0c;有很多操作或者必须要注意的细节会把控不住&#xff0c;所以C中出现了string类&#xff0c;让我们应对字符串等oj题也方便快捷了许多&#xff01; 目…

linux搭建redis数据库实现远程c语言访问

文章目录 linux安装reidis数据库c语言使用hiredis库实现redis数据库的操作测试代码使用hiredis库制作一个redis数据库管理系统linux安装reidis数据库 linux安装reidis数据库 sudo apt-get install redis-server使用systemctl命令查看redis服务运行状态 sudo systemctl statu…

Visual C++ 2010开发的程序在其它电脑上运行提示“找不到MSVCR100D.dll”原因及解决

Visual C 2010开发的程序在其它电脑上运行提示“找不到MSVCR100D.dll”原因及解决 Microsoft Visual C&#xff08;简称Visual C、MSVC、VS或VC&#xff09;2010是微软公司的免费C开发工具&#xff0c;具有集成开发环境&#xff0c;可提供编辑C语言&#xff0c;C以及C/CLI等编程…

惊喜:2023前瞻版Java面试指南,不止八股文

前言&#xff1a; 2022年马上就要过去了&#xff0c;即将要到来的就是2023年的金三银四面试季&#xff0c;随着政策的放宽&#xff0c;经济的逐步复苏&#xff0c;岗位的需求也会越来越大&#xff0c;所以趁这段时间进行知识储备将会是最好的时间段&#xff0c;永远要做快人一…

卷积神经网络——李宏毅机器学习笔记

以Image Classification为例 第一个解释角度&#xff1a; 先将不同尺寸的image&#xff0c;rescale成大小一样的尺寸&#xff0c;再丢到model中。 下图中&#xff0c;我们希望Cross entropy 越小越好 在计算机视角下的图片&#xff1a; 3 channels 对应R G B三个通道 随着模…

VirtualBox安装openEuler方案一

下载&#xff1a; https://www.openeuler.org/zh/mirror/list/ 根据设备架构选择对应的版本&#xff1a;windows是x86架构 选择下面这个4.2G大小的&#xff1a; 安装&#xff1a; 安装部分建议参考另一篇文章&#xff1a;virtualbox安装openEuler-方案二 下面部分的安装…

Flink CDC 2.3 发布,持续优化性能,更多连接器支持增量快照,新增 Db2 支持

01Flink CDC 简介Flink CDC [1] 是基于数据库的日志 CDC 技术&#xff0c;实现了全增量一体化读取的数据集成框架。配合 Flink 优秀的管道能力和丰富的上下游生态&#xff0c;Flink CDC 可以高效实现海量数据的实时集成。作为新一代的实时数据集成框架&#xff0c;Flink CDC 具…

电子班牌解决方案-最新全套文件

电子班牌解决方案-最新全套文件一、建设背景二、建设思路三、建设方案四、获取 - 电子班牌全套最新解决方案合集一、建设背景 信息技术已渗透到经济发展和社会生活的各个方面&#xff0c;人们普遍关注教育信息化在提高国民素质和增强国家创新能力方面的重要作用。 《国家中长…

分块查找 确定查找位置

此时 当low和high指在某个相同的位置mid时&#xff08;此时low,mid,high指向同一位置&#xff09;&#xff0c;mid的左边元素小于19&#xff0c;因为low左边的元素一定小于19&#xff0c;mid右边的元素大于19&#xff0c;因为high右边的元素大于19。我们需要寻找的是位置是大于…

PMI新人才三角如何构建自己的影响力?【洞见1】

背景&#xff1a; VUCA时代&#xff0c;Volatility&#xff08;易变性&#xff09;&#xff0c;Uncertainty&#xff08;不确定性&#xff09;&#xff0c;Complexity&#xff08;复杂性&#xff09;&#xff0c;Ambiguity&#xff08;模糊性&#xff09;&#xff0c;这个时代…

c++new和delete的匹配问题与raii的定制删除器

目录 1.关于new与delete 2.智能指针的定制删除器 1.关于new与delete 这里我想介绍的是new[]与delete[]没有配套使用带来的影响。这个是否发生错误和使用的ide有很大的关系。&#xff08;这里我用vs平台做示例&#xff09; 如果对内置类型采用new[]来开辟开辟空间&#xff0c…

postgresql源码学习(50)—— 小白学习Dtrace追踪源码函数调用

不知不觉第50篇了&#xff0c;昨天在文章里&#xff08;https://mp.weixin.qq.com/s/AzBGzYhGxYjSf7Sptj55lQ&#xff09;学到一个追踪源码执行情况的利器 —— Dtrace&#xff0c;本篇记录下实验和笔记。 一、 解决痛点 学习以来一直有一个疑惑&#xff0c;如何将pg中执行的SQ…

Spring Boot 3.0 正式发布,这份升级指南必须收藏

Spring Boot 3.0 现已正式发布&#xff0c;它包含了 12 个月以来 151 个开发者的 5700 多次代码提交。这是自 4.5 年前发布 2.0 以来&#xff0c;Spring Boot 的第一次重大修订。它也是第一个支持 Spring Framework 6.0 和 GraalVM 的 Spring Boot GA 版本&#xff0c;同时也是…

Nginx环境搭建及前端部署教程(Windows版)

1、Nginx简介 Nginx (engine x) 是一个轻量级、高性能的HTTP和反向代理web服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务。几乎可以做到 7 * 24 小时不间断运行&#xff0c;即使运行几个月也不需要重新启动&#xff0c;还能在不间断服务的情况下对软件版本进行热更新。性…

2022年,数字化转型升级,越来越重要

所谓数字化营销&#xff0c;指的是使用数字传播渠道推广产品和服务&#xff0c;从而以一种及时、相关、定制化和节省成本的方式与消费者进行沟通。 进入2022年&#xff0c;数字化转型升级&#xff0c;变得越来越重要。 01政策推动数字化发展 国家“十四五”期间将加快推进企业…

arthas进阶版排查问题之idea插件工具操作

arthas前面的文章讲了怎么去使用命令排查线上问题&#xff0c;线上出了问题就需要我们去排查问题和处理程序异常&#xff0c;但是线上一般出问题不太好解决&#xff0c;总有一些奇怪的问题&#xff0c;当然很多场景是测试测试不到的&#xff0c;我们不能百分百保证线上不出问题…