搭建一個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
項目必須遵照這樣的結構