最近學(xué)了SSM框架(Spring,SpringMVC,Mybatis),學(xué)到了蠻多的,也遇到了很多坑,哈哈。今天重新搭建了一個(gè)Demo,來分享如何一步步在MAC OS下用IDEA搭建一個(gè)SSM項(xiàng)目。
1.開發(fā)環(huán)境
? ? JDK 1.8
? ? IDEA 2017.1
? ? Tomcat 9.0.0.M21
? ? Maven 3.5.0
? ? MySql 5.7.18
? ? 以上的安裝配置可以參考網(wǎng)上的教程。環(huán)境準(zhǔn)備就緒,接下來開始新建Maven Web項(xiàng)目。
2.創(chuàng)建Maven Web項(xiàng)目
? ? 對(duì)于不熟悉Maven的同學(xué),可以參考http://blog.csdn.net/myarrow/article/details/50824793
3.使用Maven引入jar包
? ? 這里我們使用Spring 4.3.8和Mybatis 3.4.1。對(duì)于如何尋找jar包的版本,可以通過https://mvnrepository.com/去搜索對(duì)應(yīng)jar包,然后找到想使用的jar包版本。接下來在pom.xml添加依賴,代碼如下圖:

4.SSM整合
? ? 首先在java目錄下新建controller,mapper,po,service四個(gè)包。

? ? 在resources文件夾新建屬性文件db.properties和log4j.properties,主要存放jdbc屬性參數(shù)和日志屬性參數(shù)。

? ? 接下來在resources下新建mybatis目錄和spring目錄,里面分別存放mybatis和spring的xml配置文件。同時(shí)也在剛新建的mybatis目錄下在新建一個(gè)mapper目錄,存放mapper.xml。在mybatis新建sqlMapConfig.xml配置文件,主要是配置一些properties屬性和別名等等。

? ? 然后在spring目錄下新建applicationContext-dao.xml,applicationContext-service.xml,applicationContext-transaction.xml,springmvc.xml配置文件。applicationContext-dao.xml主要配置數(shù)據(jù)源,sqlSessionFactory和mapper掃描器;applicationContext-service.xml主要是在spring容器中配置service;applicationContext-transaction.xml主要是使用spring聲明的事務(wù)控制方法;springmvc.xml主要配置處理器,映射器,適配器以及視圖解析器等配置。




? ? 接下來新增pojo類和mappper接口,一般通過逆向工程來生成。這里我們只做個(gè)測(cè)試,所以根據(jù)數(shù)據(jù)庫字段手動(dòng)新建pojo類User.java,在mapper包下新建接口UserMapper,同時(shí)也在mybatis目錄下的mapper目錄新建UserMapper.xml。



? ? 接下來完成service的代碼,通過注入的userMapper調(diào)用findUserById方法。在controller里面通過注入的service調(diào)用findUserById方法,在添加地址映射"/UserQuery"。


? ? 大部分工作完成了,現(xiàn)在還需要在web.xml中加載spring容器和springmvc的前端控制器等。

步驟都完成了,加下來添加tomcat,run一下,

? ? 出現(xiàn)了數(shù)據(jù)庫查詢到user表id為1到數(shù)據(jù),那么SSM框架整合到demo就成功啦。其中sql表需要自行創(chuàng)建一下,屬性只要id和username就可以,還有需要WEB-INF下創(chuàng)建jsp目錄,以便于管理jsp文件。這里是一個(gè)基礎(chǔ)的SSM框架整合,異常,校驗(yàn),攔截器,二級(jí)緩存等功能都沒有添加,有需要的同學(xué)可以自行添加。接下來準(zhǔn)備在SSM基礎(chǔ)上添加Redis二級(jí)緩存,敬請(qǐng)期待。
? ? 以上項(xiàng)目源碼地址:https://github.com/outman-dd/ssmdemo