搭建一个SSM环境的步骤是java
第一步导入jar包这一步就很繁琐,若是咱们要搭建一个SSM的环境,少说也要导入十来个jar包web
那么咱们怎么找jar包,导入jar包的?一个一个去找,一个一个导入,麻烦易错,那么如何解决这个问题呢?spring
Maven 项目管理和构建的工具 底层是javatomcat
就是一个工具 至关于tomcat Tomcat帮咱们作了什么事儿呢 发布项目 maven帮咱们作项目管理网络
是Apache开源组织提供的一个基于POM(Project Object Model)的项目构建(Build)工具,所谓的构建指的是代码清除(clean)、编译(compile)、测试(test)、打包(package)、安装(install)、部署(deploy)等一系列流程架构
什么是IDE规范 例子:当当网项目结构 IDEA和Myeclipes的区别----->问题:项目的迁移不方便 可移植性差 场景:项目进行到一半换IDEA能不能行?----->解决:maven提出统一的规范app
如今构建项目:经过IDE工具构建的webapp
Maven:经过一个指令就能够maven
指令就是命令 javac工具
依赖为何要管理 jar和jar之间有依赖关系 Sturts2和xwork----->问题:本身管理很麻烦,容易出错 ---->解决:maven能够自动的管理jar包
例子:Sturts2的开发,导入jar包
struts-core.jar 依赖 xwork-core.jar jar包之间是须要互相依赖的,那么有没有一种可能a--->b--->c--->d
若是要使用a,必须导入依赖的bcd
maven如何来解决这个问题?
每一个项目中都须要导入一套jar包 ----> 问题:jar包冗余 浪费空间 ---->解决:公共文件夹集中管理jar包 谁须要谁去引用---->maven就是这么作的 本地仓库文件夹---->问题:若是须要的jar包本地文件夹没有怎么办---->经过网络下载 maven中心仓库(演示访问) 原理图---->问题:如何告诉本地仓库须要什么jar包?如何标识一个jar包?---->maven坐标 演示一个坐标
1.例子:两个项目用的都是SSM架构,都须要导入一整套的jar包。
有什么问题?
代码冗余,jar包也冗余了。
如何解决这个问题?
2.例如我想在两个项目中都引入Mybatis的jar包,提供一个公共的文件夹(集中式的文件夹),若是要使用jar包都去这个文件夹中引用。不引入。
Maven就是这样作的,Maven中也有这样的一个文件夹,叫本地仓库。本地仓库就是本地电脑上的一个文件夹,存放jar包。
结论:Maven是集中式依赖管理的项目构建工具。
3.若是我如今要使用spring-core的jar包,而本地仓库中没有怎么办?
本地不可能有全部的jar包,可是能够经过网络去下载,去哪下呢?
Maven中心仓库(远程仓库):是Maven官方维护的,存储了全球知名开源的jar包。
@RestController
演示:中心仓库中看spring的jar包
这个过程有没有什么问题?
例子:买饮料 品牌(标识)
咱们的项目如何告诉本地仓库要什么jar包呢?怎么去标识一个jar包(有惟一标识就能够肯定一个jar包)?
Maven是经过坐标来标识jar包的。
Maven坐标
演示:spring-core的坐标
坐标是标签格式的写在配置文件中。
Maven项目的标志就是pom.xml
回顾IDE规范 解决预留问题:maven的规范是什么样的?----> 项目结构约束对比讲解
约定大于配置,用别人的东西遵照别人的规定
项目结构约束
dangdang
项目必须遵照这样的结构