-
下载Oracle的jar包
-
安装nexus
介绍
-
项目管理工具
-
依赖管理和项目构建
依赖管理
-
对jar包管理:导入依赖,就相当于将仓库中的jar包导入到当前项目中
项目构建
-
通过maven的命令就可以完成项目的清理,测试,报告,打包,部署整个过程
仓库的类型
本地仓库
远程仓库
-
maven中央仓库(https://repo1.maven.org/maven2/)
-
maven私服(公司局域网内的仓库,需要自己搭建)
-
其他公共远程仓库(例如apache提供的远程仓库 https://repo.maven.apache.org/maven2/)
常用命令
-
clean:清理
-
compile:编译
-
test:测试
-
package:打包
-
install:安装
书写规范
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
依赖范围
依赖范围 | 对于编译classpath有效(main目录下) | 对于测试classpath有效(test目录下) | 对于运行时classpatch有效(main目录下) | 例子 |
---|---|---|---|---|
compile(默认) | Y | Y | Y | spring-core |
test | - | Y | - | Junit |
provided | Y | Y | - | servlet-api |
runtime | - | Y | Y | JDBC驱动 |
system | Y | Y | - | 本地的,maven仓库之外的类库 |
依赖传递
-
在maven中,依赖是可以传递的,假设存在三个项目,分别是项目A,项目B,项目C,假设C依赖B,B依赖A,那么我们可以根据maven项目依赖的特征不难推断出项目C也依赖A
依赖冲突
-
由于依赖传递现象存在,
spring-webmvc-4.2.4
依赖,spring-beans-4.2.4
,spring-aop-5.0.2
依赖spring-beans-5.0.2
,但是发现spring-beans-4.2.4
加入到了工程中,而我们希望spring-beans-5.0.2
加入工程,这就造成了依赖冲突
解决方式
-
使用maven提供的依赖调解原则
-
第一声明者优先原则
-
路径近者优先原则
-
-
排除依赖
-
锁定版本
第一声明者优先原则
-
根据依赖导入顺序决定使用哪个依赖
路径近者优先原则
-
自己定义传递过来的依赖比别的依赖传递过来的依赖近 直接比间接近
排除依赖
版本绑定
-
第一步:在
dependencyManagement
标签中锁定依赖的版本 -
第二步:在
dependencies
标签中声明需要导入的maven依赖
构建SSM项目案例
数据库环境
-
ssmtest
DROP TABLE IF EXISTS `item`;
CREATE TABLE `item`(
`id` bigint(20) not NULL auto_increment,
`name` varchar(255) default '',
`price` DECIMAL(10,2) DEFAULT 0.00,
`create_time` datetime DEFAULT null,
`detail` VARCHAR(255) DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET = utf8;
insert into `item` VALUES('1','电视机','6450','2021-01-10 11:30:10','电视机');
构建步骤
-
创建
maven web
项目 -
配置
pom.xml
文件 -
实现
spring+mybatis
整合-
创建
pojo
类 -
持久层D
ao
接口编写 -
Mapper
映射文件编写 -
业务层
Service
编写 -
spring配置文件
applicationController-dao.xml
编写 -
spring配置文件
applicationController-service.xml
编写
-
-
加入
Springmvc
相关配置-
表现层
Controller
编写 -
springmvc.xml
文件编写 -
jsp
页面编写 -
配置
web.xml
-
-
添加参数
archetypeCatelog
:internal-
不加会到maven中央远程仓库下载依赖。加了后使用配置的本地仓库
-
-
删除多余的配置
-
构建文件结构
pom.xml