1、web.xml

  a:配置spring监听,使web容器在启动时加载spring的applicationContext.xml

      <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

  b:配置contextConfigLocation指定applicationContext的位置,同时可以修改其名称

    <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mybatis.xml</param-value>
</context-param>

  c:配置springmvc的拦截器DispatcherServlet,同时可以修改其位置和名称

    <servlet>
<servlet-name>Spring_MVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

  d:配置springmvc的拦截路径

   <!--
配置拦截器拦截URL:
1、(/):这种拦截方式会导致静态文件请求无法通过,但可以通过配置defaultServlet进行弥补
2、(/*):错误的拦截方式,可以访问controller,但是无法访问JSP
-->
<servlet-mapping>
<servlet-name>Spring_MVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!--
弥补rest风格的拦截路径配置
-->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>

2、applicationContext.xml

  a:自动扫描指定包下的注解(建议专门查一下这个标签)

    <context:component-scan base-package="com" />

  b:引入外部的properties文件(可选)

     <bean id="propertityConfigure" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:jdbc.properties"/>
</bean>

  c:配置数据连接池

     <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}" />
</bean>

  d:spring和mybatis整合(配置sqlSessionFactory)

     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 必须的属性:dataSource -->
<property name="dataSource" ref="datasource"/>
<!-- 必须属性:加载mybatis配置文件() -->
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
<!-- 自动扫描mapper.xml文件并进行注册,可以省略不写,不写的话需要在mybatis配置文件中通过mappers标签进行指定 -->
<property name="mapperLocations" value="classpath:com/mapper/*.xml"/>
</bean>

  e:自动扫描DAO接口并进行sqlSessionFactory的注入和bean的创建

     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.dao"/>
<!-- 此属性可以不进行配置,不配置的情况下spring自动装配 -->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>

  f:事务管理(结合AOP进行切点织入的方式)

     <!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="datasource"/>
</bean>
<!-- 指定管理的方法以及传播属性和隔离级别等等 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="save*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
</tx:attributes>
</tx:advice>
<!-- 使用AOP管理事务管理使用时机 -->
<aop:config>
<aop:pointcut id="serviceCut" expression="execution(* com.service.*.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="serviceCut"/>
</aop:config>

3、spring-mvc.xml

  a:注册DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean,这是使用@Controller及@requestBody和@responseBody等注解的前提

<mvc:annotation-driven/> 

  b:扫描Controller

<context:component-scan base-package="com.controller"/>

  c:配置视图解析器

     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<!-- 后缀 -->
<property name="suffix">
<value>.jsp</value>
</property>
</bean>

4:mybatis-config.xml

   <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration> </configuration>

springMVC+mybatis+spring整合案例的更多相关文章

  1. SpringMVC+Mybatis+Spring整合

    Maven引入需要的JAR包 pom.xml <properties> <!-- spring版本号 --> <spring.version>4.0.2.RELEA ...

  2. springMVC+MyBatis+Spring 整合(3)

    spring mvc 与mybatis 的整合. 加入配置文件: spring-mybaits.xml <?xml version="1.0" encoding=" ...

  3. springmvc+mybatis+spring 整合源码项目

    A集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单; freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等 ...

  4. springmvc+mybatis+spring 整合

    获取[下载地址]   [免费支持更新]三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体[新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] ...

  5. springmvc+mybatis+spring 整合 bootstrap

    获取[下载地址]   [免费支持更新]三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体[新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] ...

  6. springMVC+MyBatis+Spring 整合(4) ---解决Spring MVC 对AOP不起作用的问题

    解决Spring MVC 对AOP不起作用的问题 分类: SpringMVC3x+Spring3x+MyBatis3x myibaits spring J2EE2013-11-21 11:22 640 ...

  7. springMVC+MyBatis+Spring 整合(2)

    mybatis 与Spring 的整合. 1.导入Spring 和Springmvc的包 pom <project xmlns="http://maven.apache.org/POM ...

  8. springmvc+mybatis+spring 整合 bootstrap html5

    A 调用摄像头拍照,自定义裁剪编辑头像 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统]B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单;  技 ...

  9. springmvc+mybatis+spring 整合 SSM

    A 调用摄像头拍照,自定义裁剪编辑头像 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统]B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单;  技 ...

随机推荐

  1. APP开发流程

    1.申请一个开发者账号: 2. App的idea形成: 3. App的主要功能设计: 4. App的大概界面构思和设计(使用流程设计): 5. 大功能模块代码编写: 6. 大概的界面模块编写: 7. ...

  2. DataRow映射实体

    public static T ConvertToModel<T>(DataRow dr) where T : new() { T t = new T(); Type modelType ...

  3. VS2010中汉字拷贝到Word出现乱码问题解决

    VS2010中的汉字拷贝到Word时出现乱码,有三种解决方法: 一.粘贴时,选择“仅保留文本”.如图: 二.先拷贝粘贴到记事本文件内,此时会自动过滤格式信息,再从记事本拷贝到Word. 三.使用转换软 ...

  4. Notepade ++ 替换每行最后的换行符

    Steps: 1. Copy the file need to be replaced into Notepade ++ 2. Ctrl+A to select all->Ctrl+F to p ...

  5. Fortran 基础语法(一)

    GE是大于等于号(>=),GT是大于号(>),LE是小于等于号(<=),LT是小于号(<) IF基本用法   If(逻辑判断式) then …… End if If(逻辑判断式 ...

  6. 鸟哥的linux私房菜学习记录之软件安装原始码与Tarball

  7. 干货——myeclipse快捷键

    好了废话不多说.先上快捷键快捷键 alt    alt+           返回操作记录的上一步    alt+        返回操作记录的下一步    alt+shift+o        同一 ...

  8. [Linux系统]查看内存的几种方式

    1. cat /proc/meminfo 2.free -m3.vmstat -s4.ps命令可以实时的显示各个进程的内存使用情况.Reported memory usage information ...

  9. ThreadLocal的理解

    ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的.每个线程 ...

  10. sql 操作常用操作语句 新增、修改字段等

    常用sql --sql 事务 BEGIN TRAN 事物名 )BEGIN ROLLBACK TRAN 事物名;RETURN;END COMMIT TRAN 事物名 --数据库清缓存 DBCC DROP ...