SpringMVC整合Mybatis配置文件的步驟
阿新 • • 發佈:2018-01-24
suffix control app -- ali require drive 最終 pro
SpringMVC和MyBatis整合 1、整合DAO層,即Mapper接口配置在Spring容器中 1、創建MyBatis/sqlMapConfig.xml 配置文件 1、配置別名 <!-- 對象別名 --> <typeAliases> <typeAlias type="com.lanhuigu.mybatis.entity.User" alias="User"/> </typeAliases> 2、配置數據源(不需要) 3、配置Mapper全局環境文件(不需要) 但是由於使用SpringMVC整合,所以只配置第一步,其他放到Spring容器中配置 2、配置DAO,新建spring/application-dao.xml 配置文件 1、配置數據源(包含加載jdbc.properties文件) <!-- 配置數據源 --> <context:property-placeholder location="classpath:db.properties"/> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> <!-- 初始化連接大小 --> <property name="initialSize" value="${initialSize}"></property> <!-- 連接池最大數量 --> <property name="maxActive" value="${maxActive}"></property> <!-- 連接池最大空閑 --> <property name="maxIdle" value="${maxIdle}"></property> <!-- 連接池最小空閑 --> <property name="minIdle" value="${minIdle}"></property> <!-- 獲取連接最大等待時間 --> <property name="maxWait" value="${maxWait}"></property> </bean> 2、配置SqlSessionFactory(配置Bean、加載mybatsi全局配置文件屬性) <!-- 配置SqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- 加載Mybatis全局配置文件 --> <property name="mapperLocations" value="classpath:mybatis/sqlMapConfig.xml"></property> </bean> 3、配置Mapper掃描器(配置掃描包、SqlSessionFactoryBeanName屬性) <!-- 配置mapper接口掃描器 --> <bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> <property name="basePackage" value="cn.com.**.dao" /> </bean> 2、整合Service層 創建spring/application-service.xml 1、配置serviceImpl實現類的Bean <bean id="itemServiceImpl" class="cn.itcast.ssm.service.impl.ItemServiceImpl"></bean> 2、配置事務管理(配置Bean的Class、數據源屬性) <!-- (事務管理)transaction manager, use JtaTransactionManager for global tx --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> 3、配置通知 <!-- 通知,限定業務層Service的方法名必須以下面的開頭,並通知給事務管理器 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="save*" propagation="REQUIRED"/> <tx:method name="delete*" propagation="REQUIRED"/> <tx:method name="insert*" propagation="REQUIRED"/> <tx:method name="update*" propagation="REQUIRED"/> <tx:method name="find*" propagation="SUPPORTS" read-only="true"/> <tx:method name="get*" propagation="SUPPORTS" read-only="true"/> </tx:attributes> </tx:advice> 4、配置aop <!-- aop配置,因為AOP要調用通知 execution(* cn.itcast.ssm.service.impl.*.*(..)),表示 按照cn.itcast.ssm.service.impl包中所有的類名所有的方法名不管什麽參數,(..)表示不管什麽參數 --> <aop:config> <aop:advisor advice-ref="txAdvice" pointcut="execution(* cn.itcast.ssm.service.impl.*.*(..))"/> </aop:config> 3、配置SpringMVC 1、配置組件掃描包 <context:component-scan base-package="cn.itcast.ssm.controller" /> 2、配置mvc註解驅動器(映射器和掃描器) <mvc:annotation-driven /> 3、配置視圖解析器 <!-- 配置視圖解析器(ViewResover) --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/jsp1/"/> <property name="suffix" value=".jsp"/> </bean> 4、配置前端控制器,在web.xml文件中修改 <!-- 前端控制器 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 初始化參數配置 contextConfigLocation配置springmvc加載的配置文件(配置HandlerMapping、HandlerAdapter) 如果不配置contextConfigLocation,默認加載的是/WEB-INF/servlet名稱-servlet.xml(springmvc-servlet.xml) --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <!-- 第一種:*.action,訪問.action結尾的DispatcherServlet解析 第二種:/,訪問所有的地址,都由DispatcherServlet解析,對於靜態文件需要配置不讓其解析 第三種:/*,struts習慣使用,springmvc不管用,使用這種配置,最終要轉發到一個jsp頁面時, 仍然由DispatcherServlet解析jsp地址,不能根據jsp地址轉到Handler,會報錯 --> <url-pattern>*.do</url-pattern> </servlet-mapping> 5、加載Spring容器 1、加載Mapper、service、controller配置到容器中 2、加載監聽器 <!-- 加載Spring容器 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>WEB-INF/Classes/spring/application-*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
SpringMVC整合Mybatis配置文件的步驟