springMVC+mybatis+spring整合案例

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>
时间: 2024-10-23 03:10:00

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

springMVC+MyBatis+Spring 整合(3)

spring mvc 与mybatis 的整合. 加入配置文件: spring-mybaits.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xm

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

解决Spring MVC 对AOP不起作用的问题 分类: SpringMVC3x+Spring3x+MyBatis3x myibaits spring J2EE2013-11-21 11:22 640人阅读 评论(1) 收藏 举报 用的是 SSM3的框架 Spring MVC 3.1 + Spring 3.1 + Mybatis3.1第一种情况:Spring MVC 和 Spring 整合的时候,SpringMVC的springmvc.xml文件中 配置扫描包,不要包含 service的注解,S

2015/5/3~springMVC+mybatis+spring整合

一.准备工作 1.概述 springMVC+mybatis+spring+MySQL+log4j+maven 2.新建maven项目,现在web-app模版 新建项目后,可能个别目录会丢失,需要手动添加,整体目录结构如下所示: 3.通过maven管理依赖,仓库地址如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan

springmvc+mybatis+spring 整合源码项目

A集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单; freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块B 集成阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势C 集成安全权限框架shiro ;  Shiro 是一个用 Java 语言实现的框架,通过一个简单易用的 API 提供身份验证和授权,更安全,更可靠D

SSM springmvc+mybatis+spring 整合 bootstrap

获取[下载地址]   [免费支持更新]三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体[新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] A集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单;freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块B 集成阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Drui

springmvc+mybatis+spring 整合 bootstrap

获取[下载地址]   [免费支持更新]三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体[新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] A集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单;freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块B 集成阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Drui

springmvc+mybatis+spring 整合 bootstrap html5 mysql oracle SSM框架源码 SSH maven

获取[下载地址]   QQ: 313596790   [免费支持更新]支持三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体[新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统]A 代码生成器(开发利器);      增删改查的处理类,service层,mybatis的xml,SQL( mysql   和oracle)脚本,   jsp页面 都生成   就不用写搬砖的代码了,生成的放到项目里,可以直接运行B 阿里巴巴数据库连接池druid

springmvc+mybatis+spring 整合

获取[下载地址]   [免费支持更新]三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体[新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] A 集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单; freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块B 集成阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Dr

java 主流 springmvc+mybatis+spring 整合

获取[下载地址]   [免费支持更新]三大数据库 mysql  oracle  sqlsever   更专业.更强悍.适合不同用户群体[新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] A 集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单; freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块B 集成阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Dr