一個(gè)項(xiàng)目中往往有三層即 Dao 層、 Service 層和 Web 層。 在整合之前, 分析一下 SSM 這三大框架的整合思路。
創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括臺(tái)兒網(wǎng)站建設(shè)、臺(tái)兒網(wǎng)站制作、臺(tái)兒網(wǎng)頁制作以及臺(tái)兒網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,臺(tái)兒網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到臺(tái)兒省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
1、 在 dao 層中, mybatis 整合 spring, 通過 spring 管理 SqlSessionFactory、 mapper 代理對(duì)象。
在整合過程中, 需要 mybatis 和 spring 的整合包。 整合包如下:
org.mybatis
mybatis-spring
2、 使用 mybatis 框架, 須創(chuàng)建該框架的核心配置文件——mybatis-config.xml。
3、 使用 spring 框架, 須創(chuàng)建一個(gè) spring-dao.xml 配置文件, 該文件的內(nèi)容有:
1) 配置數(shù)據(jù)源。
2) 需要讓 spring 容器管理 SqlsessionFactory, 其是單例存在的。
3) 把 mapper 的代理對(duì)象放到 spring 容器中, 使用掃描包的方式加載 mapper 的代理對(duì)象。
所有的 service 實(shí)現(xiàn)類都要放到 spring 容器中管理。 由 spring 創(chuàng)建數(shù)據(jù)庫連接池, 并由spring 來管理事務(wù)。
整合內(nèi)容 | 對(duì)應(yīng)工程 |
---|---|
Service 接口 | ycshop-manager-interfaces |
Service 實(shí)現(xiàn)類 | ycshop-manager-service |
Spring-service.xml 配置文件 | ycshop-manager-service |
表現(xiàn)層由 springmvc 來管理 controller。 總的來說, springmvc 框架的核心配置文件的內(nèi)
容有:
1. 需要掃描 controller
2. 配置注解驅(qū)動(dòng)
3. 配置視圖解析器
在項(xiàng)目 ycshop-manager-service 工程中創(chuàng)建 mybatis-config.xml 文件。
內(nèi)容如下:
將與數(shù)據(jù)庫的連接屬性配置到配置文件中, 方便修改。 具體內(nèi)容如下:
jdbc.url=jdbc:mysql://47.100.x.x:3306/ycshop?characterEncoding=utf-8
jdbc.user=xxx
jdbc.pwd=aaa
jdbc.driver=com.mysql.jdbc.Driver
jdbc.initPoolSize=5
jdbc.maxPoolSize=10
其中47.100.x.x是數(shù)據(jù)庫url
ycshop是數(shù)據(jù)庫名
xxx是數(shù)據(jù)庫連接的用戶名
aaa是數(shù)據(jù)庫連接的密碼
在這個(gè)配置文件中配置數(shù)據(jù)庫連接池、 SqlSessionFactory(Mybatis 的連接工廠)、 Mybatis
映射文件的包掃描器, 配置內(nèi)容如下:
在此配置文件中配置所有的 service 包掃描以及事務(wù)管理配置。 具體配置文件如下:
在上面的整合過程中, 編寫了兩個(gè) spring 的配置文件:spring-dao.xml;spring-service.xml。
那么那么程序是怎么知道這 2 個(gè)文件的呢? 這就需要在服務(wù)層初始化 spring 容器了, 方法是
在 ycshop-manager-service 工程下的 web.xml 文件中進(jìn)行配置。
內(nèi)容如下:
contextConfigLocation
classpath:spring-*.xml
org.springframework.web.context.ContextLoaderListener
在ycshop-manager-web 工程中創(chuàng)建 spring-mvc.xml 文件。 如下:
具體內(nèi)容如下:
在 ycshop-manager-web 工程中創(chuàng)建 web.xml 配置文件。 文件內(nèi)容如下:
index.jsp
dispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-*.xml
dispatcherServlet
/
到此, 開發(fā)框架就已盡整合完成, 并且完成了一個(gè)簡(jiǎn)單的示例程序。 但是到目前為止,
我們運(yùn)行程序的時(shí)候是不會(huì)成功的。 原因很簡(jiǎn)單, 在 web 層中并沒有對(duì) servie 層(服務(wù)層
接口實(shí)現(xiàn)) 的引用。 而 service 層是獨(dú)立發(fā)布的, 而現(xiàn)在我們 web 層并不能引用到 service 服
務(wù)層的實(shí)現(xiàn)。
現(xiàn)在就需要使用到 dubbo 來進(jìn)行服務(wù)的發(fā)布。
下一篇中來進(jìn)行 dubbo 服務(wù)的發(fā)布和引用。