码迷,mamicode.com
首页 > 编程语言 > 详细

SpringMVC整合Mybatis配置文件的步骤

时间:2018-01-24 12:39:18      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:upd   find   转发   sqlmap   oca   管理器   dao   最大   ref   

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配置文件的步骤

标签:upd   find   转发   sqlmap   oca   管理器   dao   最大   ref   

原文地址:https://www.cnblogs.com/yangcw/p/8340874.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!