Maven自学笔记(高级篇)

分模块开发与设计

ssm_pojo拆分

1)新建模块

2)拷贝原始项目中对应的相关内容到ssm_pojo模块中:实体类(Pojo)、配置文件(无)

ssm_dao拆分

1)新建模块

2)拷贝原始项目中对应的相关内容到ssm_dao模块中

​ (1)数据层接口(Dao)。

​ (2)配置文件:保留与数据层相关配置文件(分页插件在配置中与SqlSessionFactoryBean绑定,需要保留)。

​ (3)pom.xml:引入数据层相关坐标,删除spingmvc相关坐标(sping、mybatis、spring整合mybaits、mysql、druid、pagehelper、直接依赖已在本地仓库安装好的ssm_pojo)。

ssm_service拆分

1)新建模块

2)拷贝原始项目中对应的相关内容到ssm_service模块中

​ (1)业务层接口与实现类(Service、ServiceImpl)。

​ (2)配置文件:保留与数据层相关配置文件。

​ (3)pom.xml:引入数据层相关坐标即可,删除springmvc相关坐标(spring、junit、spring整合junit、直接依赖ssm_dao、间接依赖ssm_pojo)。

​ (4)修改service模块spring核心配置文件名,添加模块名称,格式:applicationContext-service.xml。

​ (5)修改dao模块spring核心配置文件名,添加模块名称,格式为:applicationContext-dao.xml。

​ (6)修改单元测试引入配置文件名称,由单个文件改为多个文件,以数组的形式。

ssm_control拆分

1)新建模块(使用webapp模板)。

2)拷贝原始项目中对应的相关内容到ssm_controller模块中。

​ (1)表现层控制器类与相关设置器(Controller、异常相关)。

​ (2)配置文件:保留与表现层相关配置文件、服务器相关配置文件。

​ (3)pom.xml:引入数据层相关坐标即可,删除springmvc相关坐标(spring、springmvc、jackson、servlet、tomact服务器插件、直接依赖ssm_service、间接依赖ssm_dao、ssm_pojo)。

​ (4)修改web.xml配置文件中加载spring环境的配置文件名称,使用*通配,加载所有applicationContext-开始的配置文件。

聚合

多模块构建维护

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

制作方式

​ 1)创建一个控模块,打包类型定义为pom


<packaging>pompackaging>

​ 2)定义当前模块进行构建操作时关联的其他模块名称


<modules>
    <module>../模块名称module>
    <module>../模块名称module>
modules>

继承

模块依赖关系维护

作用:通过继承可以实现在子工程中沿用父工程中的配置。

制作方式:

1)在子工程中声明父工程坐标与对应的位置。

<parent>
    <groupId>groupId>
    <artifactId>artifactId>
    <version>version>
    <relativePath>../父工程名称/pom.xmlrelativePath>
parent>

2)在父工程中定义依赖管理

<dependencyManagement>
    <dependencies>
    	<dependency>dependency>
    dependencies>
dependencyManagement>

<bulid>
	<pluginManagement>
    	<plugins>
        	<plugin>plugin>
        plugins>
    pluginManagement>
bulid>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XH22My94-1657360702365)(C:\Users\Snower\AppData\Roaming\Typora\typora-user-images\image-20220708193449765.png)]

继承与聚合的区别

作用
聚合用于快速构建项目;继承用于快速配置。
相同点
聚合与继承的pom.xml文件打包方式均为pom,可以将两种关系制作到同个pom文件中;聚合与继承均属于设计型模块,并无实际的模块内容。
不同点
聚合是在当前模块中配置关系,聚合可以感知到参与聚合的模块有哪些;继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己。

属性

版本统一的重要性

作用:等同于定义变量,方便统一维护

定义格式:

<properties>
	<jar名称.version>jar名称.version>
properties>

调用格式:

<dependency>
	<groupId>groupId>
    <artifactId>artifactId>
    <version>${jar名称.version}version>
dependency>

版本控制

工程版本:SNAPSHOT(快照版本)、RELEASE(发布版本)

工程版本号约定:约定规范

<主次本>.<次版本>.<增量版本>.<里程碑版本>

主版本:标识项目重大架构的变更。

次版本:表示有较大的功能增加和变化,或者全面系统地修复漏洞。

增量版本:表示有重大漏洞的修复。

里程碑版本:表明一个版本的里程碑。

资源配置

配置文件引用pom属性

作用:在任意配置文件中加载pom文件中定义的属性。

调用格式

&{jdbc.url}

开启配置文件加载pom属性

<bulid>
	<resources>
    	<resource>
        	
        	<direstory>${project.basedir}/src/main/resourcesdirestory>
        	<filtering>truefiltering>
    	resource>
    	<testResource>	 	
        	<direstory>${project.basedir}/src/test/resourcesdirestory>
        	<filtering>truefiltering>
    	testResource>
	resources>
bulid>

多环境开发配置


<profiles>
    
	<profile>
        
    	<id>pro_envid>
        
        <properties>properties>
        
        <activation>
        	<activeByDefault>trueactiveByDefault>
        activation>
    profile>
    
    <profile>
        
    	<id>dev_envid>
        ……
    profile>
profiles>

加载指定环境

mvn 指定 -P 环境定义id

跳过测试

1.使用命令跳过测试:mvn 指令 -D skipTests

2.使用配置跳过测试

私服

Neuxs是Sonatype公司的一款maven私服产品。

下载地址:https://help.sonatype.com/repomanager3/download

启动服务器(命令行启动):nexus.exe /run /nexus

访问服务器(默认端口:8081)

修改基础配置信息:安装路径下etc目录中nexus-default.properties文件保存有nexus基础配置信息。例如默认访问接口。

修改服务器运行配置信息:安装路径下bin目录中nexus.vmoptions文件保存有nexus服务器启动对应的配置信息。例如默认占用内存。

仓库分类

宿主仓库hosted:保存无法从中央仓库获取的资源(自主研发、第三方非开源项目。)

代理仓库proxy:代理远程仓库,通过nexus访问其他公共仓库。

仓库组group:将若干个仓库组成一个群组,简化配置;仓库组并不能保存资源,属于设计型仓库。

idea环境中资源上传与下载

访问私服配置(本地仓库访问私服)

配置本地仓库访问私服的权限(setting.xml)

<servers>
	<server>
    	<id>id>
        <username>username>
        <password>password>
    server>
servers>

配置本地仓库资源来源(setting.xml)

<mirrors>
	<mirror>
    	<id>id>
        <mirrorOf>*mirrorOf>
        <url>url>
    mirror>
mirrors>

访问私服配置(项目工程访问私服)

配置当前项目访问私服上传资源的保存位置(pom.xml)

<distributionManagement>
	<repository>
    	<id>id>
        <url>url>
    repository>
    <snapshotRepository>
    	<id>id>
        <url>url>
    snapshotRepository>
distributionManagement>

发布资源到私服命令

mvn deploy

你可能感兴趣的:(maven,mybatis,spring)