文章目录
一、回顾
编写实体类的映射文件时的主键生成策略:
1.identity
2.native
3.sequence
4.uuid
5.increment
6. assigned 由程序员自定义
1.maven概念
它是一个软件开发的管理工具,主要管理的工作是:依赖管理,项目构建
2.使用maven的好处
能够集中管理jar包,提供一键构建
3.maven的安装及配置
配置:MAVEN_HOME,PATH路径配置
本地仓库:
运行:mvn -v后会出现相关信息,表示已经安装配置好maven
4.常用的maven命令
Compile,test,package,install,deploy(部署)
5.maven工程是具有一定的目录结构
src
main
java(程序主要代码)
resources(配置文件)
webapps(是web项目时添加该目录)
test
java(测试代码)
resources(测试的配置文件)
pom.xml
6.eclipse工具下的maven工程开发
7.在pom.xml文件中如何引入坐标
8.总结
central:中央仓库,哪家公司都可以访问
二、Maven工程的拆分与聚合(重点)
1.过程
一个完整的早期开发好的crm项目,现在要使用maven工程对它进行拆分
这时候就可以将dao拆解出来形成表现独立的工程,同样service,action也都这样拆分
工程拆分之后,将来还要聚合(聚合就是将拆分的工程进一步组合在一起,又形成一个完整的项目)
为了达到聚合的目标,所以今天会引入
父工程(maven project)
子模块(maven module) dao ,service, web
1.开发步骤
1. 创建一个maven父工程
创建父工程,选择打包成pom
从它的目录结构可以看出,父工程本身不写代码,它里面有一个pom.xml文件,
这个文件可以将多个子模块中通用的jar所对应的坐标集中在父工程中配置,
将来的子模块就可以不需要在pom.xml中配置通用jar的坐标了
2.创建父工程的子模块
如下图:
dao打包成jar
3. 再次查看父工程的pom.xml文件
4. 查看子模块的pom.xml,多了一个 parent结点
并且内部所包含的结点,其实就是父工程的坐标
坐标=groupId+artifactId+version
组织名 项目名 版本
2.解决冲突问题
通过添加<exclusion>标签来解决冲突
在父工程中引入了struts-core,hibernate-core,就发现jar包是有冲突的
Javassist存在版本上冲突问题
背后的父工程的pom.xml文件中,添加的内容
1.依赖调解原则:
maven自动按照下边的原则调解:
1、第一声明者优先原则
在pom文件定义依赖,先声明的依赖为准。
测试:
如果将上边struts-spring-plugins和spring-context顺序颠倒,系统将导入spring-beans-4.2.4。
分析:
由于spring-context在前边以spring-context依赖的