02_Maven高级

1.分模块开发与设计(重点)

举例:手机银行是近几年才有的,之前银行也有系统,表现层可能只有一种,是没有手机银行的,开发手机银行相当于一个表现层单独开发成一个项目。业务层和数据层都可以拆分出来


image.png

1.1.pojo拆分

image.png

新建模块,包名与拆分前实体类的包名相同,赋值实体类,点击compile,编译成功说明拆分也是成功的。不需要test,不需要main中的resources,pom文件也是空的不需要坐标

1.2.dao拆分

image.png

因为要用到pojo,只在pom文件中加坐标还不行,需要pojo安装到仓库中,才可以用

1.3.service拆分

image.png

注意1.test里面需要用到dao的配置,单独写一下@ContextConfiguration(locations = {"classpath:applicationContext-service.xml","classpath:applicationContext-dao.xml"})2.applicationContext文件修改名字

1.4.controller拆分

image.png
image.png
image.png

2.聚合(重点)

2.1.多模块构建维护

image.png

dao模块更新了,重新install,其他模块不一定知道dao更新,万一dao做了一些调整,其他模块不能用怎么办。所以四个模块需要同时进行编译构建等操作,有一个模块来管理四个模块。

2.2.聚合

image.png

注意:1.不管在里写的模块顺序如何,加载的顺序是按照各个模块的依赖关系进行,pojo被dao使用,所以pojo先加载。如果不是线性依赖关系,同时根据依赖关系和配置顺序进行加载
2.没有写打包方式,默认jar,web项目默认是war,管理模块(聚合工程)默认是pom

3.继承(重点)

3.1.模块依赖关系维护

image.png

注意:1.父工程统一管理,子工程全部引用2.写了父工程,就不用写groupid和version3.父工程统一管理依赖以及版本,子工程只需要写坐标,不用写版本

3.2.继承

image.png
image.png
image.png
image.png

3.3.继承与聚合

image.png

4.属性(重点)

4.1.版本统一的重要性

image.png

父模块内部的一些问题:通过配置版本的属性,统一相关资源的版本

4.2.属性类别

image.png
image.png
image.png
image.png
image.png

5.版本管理

5.1.工程版本区分

image.png
image.png
image.png

5.2.工程版本号约定

image.png

6.资源配置

6.1.资源配置多文件维护

image.png
image.png
image.png

7.多环境开发配置

image.png

开发环境和生产环境配置不同
image.png
image.png
image.png
image.png

8.跳过测试

8.1.跳过测试的应用场景

image.png

主体功能没有做完,但是测试用例写好了,需要跳过测试

8.2.实操

  • 方案一:test是生命周期中的一个节点,打包或者安装肯定会经过test,可以直接在idea中设置跳过test
    image.png
  • 方案二:命令方式 install -D skipTests
  • 方案三:配置方式
    image.png

8.3.总结

image.png
image.png
image.png

9.私服(重点)

9.1.安装、启动、配置

image.png

service要用到pojo和dao,怎么办,不能拷贝代码,所以就在公司搭建一个私服,代码都安装到那个仓库里去。
image.png
  • cmd命令 在D:\maven\nexus\nexus-3.20.1-01\bin目录 运行 nexus /run nexus
  • 访问 http://localhost:8081/
  • 改端口 D:\maven\nexus\nexus-3.20.1-01\etc\nexus-default.properties
  • 改服务器运行配置信息D:\maven\nexus\nexus-3.20.1-01\bin\nexus.vmoptions


    image.png

9.2.仓库分类与手动上传组件

自己的东西上传私服,别人用从私服拿。spring的资源从中央仓库拿
image.png

扩展私服的功能,spring也从私服拿,私服找一个仓库专门放这些东西,私服从中央仓库拿
image.png
正式版和临时版也分开,放在不同的仓库,但是我们拿资源从仓库组拿,仓库组自己去各个仓库找
image.png
image.png
image.png
  • 新建宿主仓库,放release
    image.png
    image.png
    image.png
  • 把新建的宿主仓库加入到仓库组
    image.png
    image.png
  • 上传组件到宿主仓库
    image.png
    image.png
    image.png

    上传时候version的版本类型与仓库类型有校验,要保持一致

9.3.本地仓库访问私服

  • idea环境中资源上传与下载
    image.png

    用户名密码配置到本地仓库,上传位置配置到项目,下载地址配置到本地仓库

  • 具体配置
    image.png
    image.png

9.4.idea访问私服与组件上传

项目做完如何发布到私服


image.png
image.png
  • package只是打包 生成在当前开发路径下
  • install 上传到本地仓库
  • deploy 上传到私服

你可能感兴趣的:(02_Maven高级)