1. 程式人生 > >SSM整合(Spring、SpringMVC、Mybatis)---一個SpringMVC容器管理物件

SSM整合(Spring、SpringMVC、Mybatis)---一個SpringMVC容器管理物件

SSM2: 一個容器, SpringMVC容器管理整個專案中的所有物件。

SSM整合的步驟:
1.使用springdb的資料庫, student表
2.新建的web應用
匯入jar:
1)spring的核心jar:spring-beans.jar,spring-core.jar,spring-context.jar,spring-expression.jar
2)spring-aop.jar
3)資料庫和事務相關的:spring-jdbc.jar,spring-tx.jar
4)web相關的jar:spring-web.jar, spring-webmvc.jar
5)mybatis的核心jar:mybatis-3.4.5.jar
6)mybatis和spring整合的jar: mybatis-spring-1.3.1.jar
7)資料庫的連線池 druid.jar
8) mysql的驅動,日誌commons-logging.jar , log4j.jar
9)json的工具庫jar:Jackson
3.修改web.xml

1)註冊SpringMVC的中央排程器,建立SpringMVC的容器物件,加入SpringMVC配置檔案
2)註冊字符集過濾器,解決post請求亂碼的問題
4.定義程式中包的結構, 實體beans, Dao包, Service包, Controller包
5.編寫配置檔案
1)springmvc的配置檔案
2)定義資料庫的屬性配置檔案
3)mybatis主配置檔案
6.編寫程式碼:定義實體類, Dao介面和sql對映檔案, Service介面和實現類, Controller類
7.定義檢視檔案(jsp)

/*web.xml/

<?xml version="1.0" encoding="UTF-8"?> 25-SSM index.html index.htm index.jsp default.html default.htm default.jsp dispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:conf/dispatcherServlet.xml 1 dispatcherServlet <!- 注意這裡是以“/”開頭的路徑,這時候訪問路徑不能有後綴名,如*.do 靜態資源的訪問也要加上一個resource標籤- -> / characterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 forceRequestEncoding true forceResponseEncoding true characterEncodingFilter /*

/dispatcherServlet.xml,合二為一,沒有了Spring配置檔案

*/

<?xml version="1.0" encoding="UTF-8"?>

<!-- springmvc的配置檔案 -->

<!-- 宣告元件掃描器,指定Controller註解所在的包名 -->
<context:component-scan base-package="com.bjpowernode.controllers" />

<!-- 宣告檢視解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<property name="prefix" value="/WEB-INF/views/" />
	<property name="suffix" value=".jsp" />
</bean>

<!-- 宣告註解驅動 -->
<mvc:annotation-driven />

<!-- 宣告靜態資源的處理 -->
<mvc:resources location="/images/" mapping="/images/**" />
<mvc:resources location="/js/" mapping="/js/**" />


<!--Dao物件,Service物件,其他的工具類物件 -->

<!-- 宣告元件掃描器,指定@Service註解所在的包名 -->
<context:component-scan base-package="com.bjpowernode.service" />

<context:property-placeholder location="classpath:conf/jdbc.properties"/>

<!-- 宣告資料來源(druid,dbcp) -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
	<property name="url" value="${jdbc.url}" />
	<property name="username" value="${jdbc.username}" />
	<property name="password" value="${jdbc.password}" />
</bean>


<!-- 宣告SqlSessionFactoryBean,建立SqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	<property name="dataSource" ref="dataSource" />
	<property name="configLocation" value="classpath:conf/mybatis.xml" />
</bean>


<!-- 宣告MyBatis的掃描器, 建立Dao介面的實現類物件 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
	<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
	<property name="basePackage" value="com.bjpowernode.dao" />
</bean>