之前工作中一直用springMVC和ibatis袭灯,現(xiàn)在要從0開始學習maven和mybatis,所以這篇博客就記錄我的學習maven,mybatis,intellij IDEA的心路歷程郭脂。
首先說一下IDEA年碘,先要知道它是什么吧。所以我查看了Intellij IDEA百度百科展鸡。了解到它是java語言的集成開發(fā)環(huán)境屿衅,之前工作中我一直用的是myeclipse,所以現(xiàn)在要從myeclipse轉型到IDEA莹弊。其實就是一個工具而已涤久,沒什么難的,多用幾次就會了忍弛,就熟練了响迂。就想當初從eclipse轉型到myeclipse一樣,感覺myeclipse比eclipse多好多內容细疚,很難蔗彤,現(xiàn)在myeclipse不也乖乖的成為了咱們手中開發(fā)的利器了嘛。所以這里idea不多做解釋疯兼。
下面說說maven然遏,因為是0基礎,所以吧彪,我們首先也要看一下Maven百度百科待侵,先知道它是一個什么東東吧。
接下來在簡單說說mybatis来氧,因為之前公司一直用ibatis诫给,都說ibatis和mybatis差別不大,具體也沒太研究過2者的細微差別啦扬,現(xiàn)在
我們就開始搭建IDEA+maven+springMVC+mybatis的開發(fā)環(huán)境中狂,在使用中學習他們的用法。
假設我們已經下載好了IDEA扑毡,并成功安裝到本機胃榕。接下來我們創(chuàng)建一個Maven項目,首先new project,選擇Maven瞄摊,構建一個空的Maven項目勋又,在
創(chuàng)建Maven項目的時候,需要輸入GroupId和ArtiFactId以及Version换帜,三者簡稱GAV楔壤,先簡單介紹一下GAV名詞感念。
GroupId表示項目的名稱惯驼,ArtiFactId表示項目的模塊名稱(建議用項目名稱-模塊名稱來表示)蹲嚣,Version表示項目版本的名稱递瑰,GAV
輸入(groupID:SpringMVC;ArtiFactId:SpringMVC-Demo隙畜,version:默認)完成后抖部,IDEA就自動給我們
構建了一個空的maven項目,如下圖所示:
由于我們要集成SpringMVC议惰,所以我們首先把項目的目錄結構整理清楚慎颗。首先我們先要弄清搭建項目的一般流程,需要注意哪些方面言询,想要什么樣的效果俯萎,自己的功能有哪些?
(假設效果:項目目錄結構清晰倍试,能夠查詢到本地數(shù)據(jù)庫中的內容讯屈。。)
1. ?工程目錄結構整理清楚
我們在src/main/java文件夾中县习,新建包cn.springmvc.model(存放javabean),
cn.springmvc.dao(存放spring與mybatis連接接口),
cn.springmvc.service(service接口),
cn.springmvc.service.impl(service接口的實現(xiàn)),
cn.springmvc.controller(存放控制層controller)
在src/main/resource文件夾中谆趾,新建包conf(存放配置文件)躁愿,
mapper(mybatis的mapper文件)
在src/test/java文件夾中,新建包cn.springmvc.test(存放測試文件)
在WEB-INF文件夾下新建jsp文件夾(存放jsp文件)
這樣項目結構基本完成了沪蓬,如下圖所示:
下面我們需要引入所需要的jar包彤钟。
查找依賴結構有個不錯的網(wǎng)站,http://search.maven.org/只要輸入包名即可查找引來關系
idea會自動構建跷叉,引入springMVC所需的jar包逸雹,構建成功后,多出來了一下jar文件
分別導入mybatis-spring云挟,junit梆砸,aspectjweaver,javax.servlet-api园欣,mysql-connector-java帖世,commons-dbcp-all,cglib沸枯,jstl日矫。
先來解釋一下這幾個jar的作用是什么:
junit,就是junit包绑榴,測試用的哪轿,這個包一般在構建maven項目的時候會自動包含。
spring-webmvc包翔怎,這個包窃诉,就是SpringMVC的包杨耙。似乎里面已經基本包含了SpringMVC所需的jar包了。
mybatis-spring包是mybatis與spring結合的包褐奴,因為使用maven來構建的項目按脚,所以會自動把mybatis相關的包也包含進來。
aspectjweaver就是面向方面(面向切面)的包敦冬,雖然SpringMVC已經實現(xiàn)了aop面向方面辅搬,但是SpringMVC的aop也是基于這個包,所以必須導入脖旱。
javax.servlet-api堪遂,這個servlet的api,不用說了萌庆,你懂的溶褪。
mysql-connector-java是mysql的java驅動。
commons-dbcp-all這個是連接池践险。
cglib就是代理的包猿妈,通常aop都是通過代理來實現(xiàn)的。
jstl就是jstl的包巍虫,因為項目里面彭则,視圖層用的是jstl。
在這里占遥,所需的jar包基本已經包含俯抖。
最后借助這個網(wǎng)站把依賴包配置文件都copy到pom.xml中后,pom.xml的文件內容如下所示: