Maven高级-分模块开发与设计

本文详细介绍了Maven的分模块开发,包括如何将一个包拆分成多个工程,如ssm_pojo、ssm_dao、ssm_service和ssm_control的拆分。此外,讲解了聚合、继承的概念及实现,强调了版本统一的重要性,并探讨了资源配置、多环境开发配置和跳过测试的方法。最后,阐述了如何使用Nexus搭建私服,进行资源上传和下载,以及配置访问权限。
摘要由CSDN通过智能技术生成

分模块开发与设计

工厂模块与模块划分
一个包拆成一个工程

在这里插入图片描述

ssm_pojo拆分
1.新建模块
    在同级目录下建立模块
    new module-->maven -->组名com.itheima
    名称--ssm_pojo-->放置在同级别目录下
2.拷贝原始项目中对应的相关内容(实体类)到ssm_pojo中
    domain包全表拷贝
3.配置文件 不做修改
    # 由于实体类的API全是idea自带,故不去修改配置
4.compile:编译
    测试编译是否通过
  • 添加到本地仓库 的操作install
ssm_dao拆分
1.新建模块
    在同级目录下建立模块
    new module-->maven -->组名com.itheima
    名称--ssm_dao-->放置在同级别目录下
2.拷贝原始项目中对应的相关内容到ssm_dao中
   * 数据层接口
   * 配置文件:保留与数据层相关配置文件3* 注意:分页插件在配置中与SqlSessionFactoryBear绑定,需要保留   
3.配置文件pom.xml 引入数据层相关坐标即可,删除springmvc相关坐标
       *spring
       *mybatis
       *spring整合mybatis
       *mysql
       *druid
       *pagehelper
       *导入资源文件=>直接依赖ssm_pojo,需要对ssm_pojo模块执行install指令,将其安装到本地仓库
4.compile:编译
       (编译要保证仓库有对应的资源)
    测试编译是否通过(需要先对ssm_pojo模块执行install指令),否则仓库里找不到
  • 当我们编译模块时,必须保证仓库有对应的资源
ssm_service拆分
1.新建模块
    在同级目录下建立模块
    new module-->maven -->组名com.itheima
    名称--ssm_service-->放置在同级别目录下
2.拷贝原始项目中对应的相关内容到ssm_service中
   业务层接口与实现类(xxxService和xxxServiceImpl)
    保留与数据层相关配置
3.配置文件 pom.xml  引入数据层相关坐标即可,删除springmvc相关坐标
    *spring
    *junit
    *spring整合junit
    *直接依赖ssm_dao(对ssm_dao模块执行install指令,将其安装到本地仓库,在导入依赖)
    *间接依赖ssm_pojo(由ssm_dao模块负责依赖关系建立)
   
4.compile:编译
    测试编译是否通过
    
 5.其他
    1.修改service模块的spring核心配置文件名,添加模块名称,格式:applicationContext-service.xml
    2.修改dao模块的spring核心配置文件名,添加模块名称,格式:applicationContext-dao.xml
    3.修改单元测试引入的配置文件名,由单个文件修改为多个文件
ssm_control拆分
1.新建模块
    在同级目录下建立模块
    new module-->maven  (由于是表现层需要选择模板webapp) -->组名com.itheima
    名称--ssm_control-->放置在同级别目录下
2.拷贝原始项目中对应的相关内容到ssm_control中
   表现层控制器类与相关设置类(controller和异常相关)
   配置文件:保留与表现层相关的配置文件,服务器相关配置文件
3.配置文件 pom.xml  引入数据层相关坐标即可,删除springmvc相关坐标
    *spring
    *springmvc
    *jackson
    *servlet
    *tomcat服务器插件   
    *直接依赖ssm_service(对ssm_service模块执行install指令,将其安装到本地仓库,在导入依赖)
    *间接依赖ssm_pojo和ssm_pojo
   
4.compile:编译
    测试编译是否通过
修改web.xml配置文件中加载spring环境的配置文件名称.使用*通配,加载所有的applicationContext-开始的配置文件    
小结
1.模块中仅包含当前模块对应的功能类与配置
2.spring核心配置根据模块功能不同进行独立制作
3.当前模块所依赖的模块通过导入坐标的形式加入当前模块后才可以使用
4.web.xml需加载所有的spring核心配置文件    

聚合

聚合

多模块构建维护

在这里插入图片描述

多模块构建维护
    多个模块全部 install到了本地仓库
    其中一个更新或损坏,会导致其他与他依赖的功能无法运行
    
    解决方法:
定义一个工程进行统一维护管理,
功能:对管理范围内的模块,进行统一操作
    
    执行顺序
    
    
    <packaging>war</packaging>
    默认打包为jar文件,声明为war,则打包为war文件

聚合

作用:聚合用于快速构建内maven工程,一次性构建多个项目/模块

实现
<!--创建一个空模块,打包类型定义为pom -->

<!--定义该工程用于构建管理 -->
<packaging>pom</packaging>

<!--定义当前模块进行构建操作时关联的其他模块名称 -->

<!--管理工程列表 -->
<modules>
    <!--具体的工程名称 -->
    <module>../ssm_controller</module>
    <module>../ssm_service</module>
    <module>../ssm_dao</module>
    <module>../ssm_pojo</module>
</modules>
注意事项:参与聚合操作的模块最终执行顺序与模块间的依赖关系有关,与配置顺序无关
  
小结
作用:方便进行批量的项目打包等操作
    
注意事项:参与聚合操作的模块最终执行顺序与模块间的依赖关系有关,与配置顺序无关
    (线性依赖)
    同级别的则与配置顺序有关(即非线性依赖)
packaging 默认是jar形式(所有的资源文件都是以jar包形式呈现的)
    pom是专门做聚合工程的
    war是web工程
  

继承

继承

在这里插入图片描述

起因:各个模块所依赖的配置文件未必同步与兼容
模块依赖关系维护
    统一管理子项目的资源
    
    继承
    作用:通过继承可以实现在子过程中沿用父类中的配置
        * maven中的继承与java中的继承相似,在子过程中配置继承关系        
实现
  • 在每一个子工程中声明其父工程坐标与对应的位置
<!--定义该工程的父工程 -->
<parent
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值