企业级Spring学习日记(十)

Maven进阶

分模块开发与设计

  • 将原始模块按照功能拆分成若干个子模块,方便模块间互相调用,接口共享

①:创建Maven模块
在这里插入图片描述
②:书写对应模块代码
③:通过maven指令安装模块到本地仓库(install指令)

依赖管理

依赖传递

  • 依赖具有传递性
    -直接依赖:在当前项目中通过依赖配置建立的依赖关系
    -间接依赖:被资源的资源如果依赖其他资源,当前项目简介依赖其他资源
    在这里插入图片描述
  • 依赖传递冲突问题
    -路径优先:当依赖中出现相同资源时,层级越深,优先级越低,层级越浅,优先级越高
    -声明优先:当资源在相同级被依赖时,配置顺序靠前的覆盖配置顺序靠后的
    -特殊有限:当同级配置了相同资源的不同版本,后配置的覆盖先配置的

可选依赖

  • 可选依赖指对外隐藏当前所选依赖的的资源——不透明
<dependency>
	<groupId>com.mei</groupId>
	<artifactId>maven_03_pojo</artifactId>
	<version>1.0-SNAPSHOT</version>
	<optional>false</optional>
</dependency>

排除依赖

  • 排除依赖指主动断开依赖的资源,被排除的资源无需指定版本——不需要
<dependency>
	<groupId>com.mei</groupId>
	<artifactId>maven_04_dao</artifactId>
	<version>1.0-SNAPSHOT</version>
		<exclusions>
			<exclusion>
				<groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
			</exclusion>
			<exclusion>
				<groupId>org.mybatis</groupId>
				<artifactId>mybatis</artifactId>
			</exclusion>
	</exclusions>
</dependency>

聚合工程开发
①:创建Maven模块,设置打包类型为pom

<packaging>pom</packaging>

②:设置当前聚合工程所包含的子模块名称

<modules>
	<module>../maven_ssm</module>
	<module>../maven_pojo</module>
	<module>../maven_dao</module>
</modules>

继承与聚合

  • 继承
    -概念:与Java中的继承相似,子工程可以继承父工程中的配置信息,常见于依赖关系的继承
    -作用:简化配置、减少版本冲突
    ①:创建Maven项目,设置打包类型为pom
<packaging>pom<packaging>

②:在父工程pom文件中配置依赖关系

<dependencis>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version>5.2.10.RELEASE</version>
	</dependency>
	...
</dependencis>

③:在父工程中配置子工程中可以选择的依赖

<dependencyManagement>
	<dependencis>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.1.16</version>
		</dependency>
		/
		...
	</dependencis>
<dependencyManagement>

④:在子工程中配置当前工程所继承的父工程

<parent>
	<groupId>com.mei<groupId>
	<artifactId>maven_parent</artifactId>
	<version>1.0-SNAPSHOT</version>
	<relativePath>../maven_parent/pom.xml</relativePath>
</parent>

⑤:在子工程中配置使用父工程中可选依赖的坐标

<dependencis>
	<dependency>
		<groupId>com.alibaba<groupId>
		<artifactId>druid</artifactId>
	</dependency>
</dependencis>

聚合与继承的区别

  • 作用
    -聚合用于快速构建项目
    -继承用于快速配置

  • 相同点:聚合与继承的pom.xml文件打包方式均为pom,可以将两种关系打包到一个pom文件中;聚合继承语属于设计型模块,并无实际模块

  • 不同点
    -聚合是在当前模块中配置关系,聚合可以感知到参与聚合的模块有哪些
    -继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己

属性
①:定义属性

<properties>
	<spring.version>5.2.10.RELEASE</spring.version>
	<junit.version>4.12</junit.version>
</properties>

②:引用属性

<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-context</artifactId>
	<version>${spring.version}</version>
</dependency>

资源文件引用属性
①:定义属性

<properties>
	<spring.version>5.2.10.RELEASE</spring.version>
	<junit.version>4.12<junit.version>
	<jdbc,url>jdbc:mysql://127.0.0.1:3306/ssm_db</jdbc.url>
</properties>

②配置文件引用属性

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=${jdbc.url}
jdbc.username=root
jdbc.password=root

③:开启资源文件目录加载属性的过滤器

<build>
	<resources>
		<resource>
			<directory>${project.basdir}/src/main/resources</directory>
			<filtering>true</filtering>
		</resource>
	</resources>
</build>

多环境开发
①:定义多环境

<profiles>
	<profile>
		<id>env_dep</id>
		<properties>
			<jdbc,url>jdbc:mysql://127.0.0.1:3306/ssm_db</jdbc.url>
		</properties>
		<activation>
			<activeByDefault>true</activeByDefault>
		</activation>
	</profile>
	<profile>
		<id>env_pro</id>
		...
	</profile>
</profiles>

②:使用多环境

mvn 指令 -P 环境定义id
范例:
mvn install -	P pro_env

跳过测试

mvn 指令 -D sikTests
mvn install -D skipTests

在这里插入图片描述

私服

简介

  • 私服是一台独立的服务器,用于解决团队内部的资源共享与资源同步问题

Nexus

  • 启动服务器
nexus.exe /run nexus
  • 访问服务器(默认端口:8081)
http://localhost:8081
  • 修改基础配置信息
    -安装路径下etc目录中nexus-default.properties文件保存又nexus基础配置信息

  • 修改服务器运行配置信息
    -安装路径下bin目录中nexus.vmoptions文件保存又nexus服务器启动对应的配置信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值