黑马就业班——Maven项目管理工具的高级应用

今天的内容:

maven高级应用
1 maven基础回顾;
2 maven传统的web工程做一个数据查询操作;
3 maver工程拆分与聚合的思想4,把第二阶段做好的web工程修改成 maven拆分与聚合的形式;
5,私服【远程仓库】;
6,如何安装第三方jar包。【把第三方jar包安装到木地仓库,把第三方ja包安装到私服。】;

0、Maven 基础
  参考文档《Maven 基础课程第一天》,第一天视频以及之前的笔记《黑马就业班(02.JavaWeb+项目实战\15.Maven基础)包含IDEA的一些使用技巧总结》:。

1、Maven回顾
  如下

maven是一个项目管理工具。
1、依赖管理:maven对项目中jar包的管理过程。传统工程我们直接把jar包放置在项目中。
	1)maven工程真正的jar包放置在仓库中,项目中只用放置jar包的坐标。
	2)仓库的种类:本地仓库,远程仓库【私服】,中央仓库。
	仓库之间的关系:当我们启动一个 maven工程的时候, maven工程会通过pom文件中jar包的坐标去本地仓库找对应jar包,默认情况下,如果本地仓库没有对应jar包, maven工程会自动去中央仓库下载jar包到本地仓库。在公司中,如果本地没有对应jar包,会先从私服下载jar包,如果私服没有jar包,可以从中央仓库下载,也可以从本地上传。

2、一键构建:maven自身集成了 tomcat插件,可以对项目进行编译,测试,打包,安装,发布等操作。(不是必须,我们可以使用自己本地的Tomcat)
	1)maven常用命令:c1ean(清楚前面编译的文件), compile , test , package(将项目打包放到target目录), install(将项目安装到本地仓库), deploy(将项目部署到私服)。
	2)maven三套生命周期:清理生命周期(cleanlifecycle),默认生命周期(defaultlifecycle),站点生命周期(sitelifecycle)

2、Maven配置文件pom.xml中jar包相关问题
  这部分见视频4,5,以及项目:Maven_day02_01 的pom.xml文件的解析。

3、SSM项目相关问题
  注意点

1、同样是使用SSM三大框架来构建项目,注意,使用Spring去整合SpringMVC和Mybatis;

2、dao层使用Mybatis,配置文件是applicationContext.xml,另外我们这里使用独立接口的配置文件来开发(ItemsDao.xml),不使用注解开发;
此处注意,在resources目录下面无法创建Package,只能创建Directory,因此我们不能写“com.lkj.dao”,而应该写“com/lkj/dao”!(这部分见视频63、service层使用spring,配置文件是applicationContext。spring我们使用xml+注解的方式进行开发:自己写的类使用注解,框架提供的类使用配置文件。(这部分见视频74、web层使用springmvc,配置文件是web.xml(主)与springmvc.xml。 (这部分见视频85、我们使用maven自带的tomcat7插件:tomcat7:run,注意在pom.xml配置tomcat7插件

4、maven工程拆分与聚合思想
  如下:(参考视频9思想)
黑马就业班——Maven项目管理工具的高级应用_第1张图片


5、maven父子工程的创建
  参考视频10

1、父工程可以选择 project 或者 module(我们使用project)。
	父工程只需要一个pom.xml文件,别的可以啥也不要,因此我们可以不使用maven骨架,也不需要选择 webapps与quickstart。当然,我们也可以把 .idea 与 src 删除。
	父工程其实就是用于管理jar包坐标。

2、创建dao、service、controller的子模块,选中父工程就可以创建module。
	dao与页面没有交互,使用普通的java工程就可以,可以不使用maven骨架,也不需要选择 webapps与quickstart。
	service与页面没有交互,使用普通的java工程就可以,可以不使用maven骨架,也不需要选择 webapps与quickstart。
	web层与页面进行交互,我们使用maven骨架,选中webapps。

黑马就业班——Maven项目管理工具的高级应用_第2张图片
黑马就业班——Maven项目管理工具的高级应用_第3张图片

6、工程和模块的关系以及继承和依赖的概念
  见视频11,以及项目:maven_day02_parent下面几个pom.xml的注释。

7、传递依赖下来的包是否能使用
  参考文档:2.3.5 依赖范围对传递依赖的影响,视频12。

1、将 maven_day02_01 项目jar包坐标贴到父工程的pom.xml;
2、讨论 junit 包在子模块下面能否使用,junit的作用域是test。参考下面2图,以后分析依赖关系,参考如下2图。

黑马就业班——Maven项目管理工具的高级应用_第4张图片
黑马就业班——Maven项目管理工具的高级应用_第5张图片

8 、在父子工程中填充代码
  参考视频13

1、对于applicationContext.xml配置文件,dao层与service层都需要,我们在使用的时候,dao层的 applicationContext.xml 就配置dao层的约束,service层就配置service层的约束!取个名字加以区分 applicationContext.xml即可!

2、由于service层引入dao层的模块,那么dao层中有的代码,service层里面也有!可以直接使用!同样,dao层里面的配置文件,也导入到service层的相关目录下面!
	同样,web层导入service的module,web层此时就有service层与dao层的代码!注意,log4j的配置文件放到web层目录下。
	web.xml与页面内容也是放到web下面。此时我们发现web.xml报错,
	<param-value>classpath:applicationContext.xmlparam-value>
	因为此时没有 applicationContext.xml 文件,这个文件被拆分为 applicationContext-dao.xml 与 applicationContext-service.xml 2个,分别放在dao的模块与service的模块下。
	那么我们在web层的resources下面创建一个 applicationContext.xml,导入 applicationContext-dao.xml 与 applicationContext-service.xml 即可!
	<import resource="classpath:spring/applicationContext-dao.xml">import>
    <import resource="classpath:spring/applicationContext-service.xml">import>
    因为web层包含dao层与service层的所有代码,包括所有配置文件,其实web的resources目录下面有 applicationContext-dao.xml 与 applicationContext-service.xml ,所以可以在  applicationContext.xml  直接引用这两个文件即可!这样web.xml也可以识别到!。

9、父子工程的3种启动方式
  参考视频14
黑马就业班——Maven项目管理工具的高级应用_第6张图片
  第二种:我们直接启动 web模块的tomcat7:run,发现出现错误:Could not find artifact com.lkj:maven_day02_service。
  这是因为我们启动maven工程的时候,会从本地仓库找jar包。我们启动 web模块,它会去本地仓库找service模块,但是service模块没有放置在本地仓库中,需要先将service模块打包放在本地仓库!那么我们直接 install 父工程,这样dao、service、web模块的内容都会打包放到本地仓库,接下来我们再 启动 web模块的tomcat7:run,可以使用!
  之前parent父工程启动,它里面的jar包本地仓库全部都有,因此可以直接运行!
在这里插入图片描述


  第三种:使用本地安装的tomcat,与之前安装方式相同。

10、私服
  私服(远程仓库)的安装与启动(参考视频15)
  项目pom.xml中的 snapshot 是测试版的意思,而releases 是发行版的意思。
黑马就业班——Maven项目管理工具的高级应用_第7张图片
黑马就业班——Maven项目管理工具的高级应用_第8张图片
黑马就业班——Maven项目管理工具的高级应用_第9张图片

  私服的使用:参考视频16
  需求:我们想把 maven_day02_parent 项目的dao模块上传到远程仓库
  首先配置登录私服的信息。在本地maven目录下:D:\maven\apache-maven-3.5.2\conf,找到settings.xml文件,在 标签下配置。
黑马就业班——Maven项目管理工具的高级应用_第10张图片
  接下来,配置项目 pom.xml。我们想要上传那个模块到私服,就将下面代码贴到哪个模块的pom.xml。
黑马就业班——Maven项目管理工具的高级应用_第11张图片
黑马就业班——Maven项目管理工具的高级应用_第12张图片
  接下来就可以完成上传:在dao模块下面,运行 deploy。
黑马就业班——Maven项目管理工具的高级应用_第13张图片
  下面,配置项目自动从远程仓库下载jar包,同样在maven的settings.xml文件下面配置。
黑马就业班——Maven项目管理工具的高级应用_第14张图片
黑马就业班——Maven项目管理工具的高级应用_第15张图片

11、安装第三方jar包到本地仓库与私服
  参考视频17、18

你可能感兴趣的:(Java资料,maven)