spring和springmvc 整合步骤

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:context="http://www.springframework.org/schema/context"
 4        xmlns:aop="http://www.springframework.org/schema/aop"
 5        xmlns:tx="http://www.springframework.org/schema/tx"
 6        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 7        xsi:schemaLocation="
 8        http://www.springframework.org/schema/beans
 9        http://www.springframework.org/schema/beans/spring-beans.xsd
10        http://www.springframework.org/schema/context
11        http://www.springframework.org/schema/context/spring-context.xsd
12        http://www.springframework.org/schema/aop
13        http://www.springframework.org/schema/aop/spring-aop.xsd
14        http://www.springframework.org/schema/tx
15        http://www.springframework.org/schema/tx/spring-tx.xsd
16 ">
17     <context:component-scan base-package="cn.smbms.service,cn.smbms.pojo"/>
18     <context:property-placeholder location="classpath:database.properties"/>
19     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
20         <property name="driverClassName" value="${driver}"/>
21         <property name="url" value="${url}"/>
22         <property name="username" value="${user}"/>
23         <property name="password" value="${password}"/>
24         <!--性能调优-->
25         <property name="initialSize" value="${initialSize}"/>
26         <property name="maxActive" value="${maxActive}"/>
27         <property name="maxIdle" value="${maxIdle}"/>
28         <property name="minIdle" value="${minIdle}"/>
29         <property name="maxWait" value="${maxWait}"/>
30         <property name="removeAbandoned" value="${removeAbandoned}"/>
31         <property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}"/>
32         <property name="testOnBorrow" value="${testOnBorrow}"/>
33         <property name="testOnReturn" value="${testOnReturn}"/>
34         <property name="testWhileIdle" value="${testWhileIle}"/>
35         <property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}"/>
36         <property name="validationQuery" value="${validationQuery}"/>
37         <property name="numTestsPerEvictionRun" value="${numTestsPerEvictionRun}"/>
38 
39     </bean>
40 
41     <!--拿到数据源,并且拿到mybatis配置文件-->
42     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" >
43         <property name="dataSource" ref="dataSource"/>
44         <property name="configLocation" value="classpath:mybatis-config.xml"/>
45         <property name="plugins">
46             <array>
47                 <bean class="com.github.pagehelper.PageInterceptor">
48                     <!-- 这里的几个配置主要演示如何使用,如果不理解,一定要去掉下面的配置 -->
49                     <property name="properties">
50                         <value>
51                             helperDialect=mysql
52                             reasonable=true
53                             supportMethodsArguments=true
54                             params=count=countSql
55                             autoRuntimeDialect=true
56                         </value>
57                     </property>
58                 </bean>
59             </array>
60         </property>
61     </bean>
62 
63    <!-- 整合dao层,mapper.xml和接口-->
64     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
65         <property name="basePackage" value="cn.smbms.mapper"/>
66     </bean>
67 
68     <!--配置事务管理器-->
69     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
70         <property name="dataSource" ref="dataSource"/>
71 
72     </bean>
73     <!--事务注解的配置-->
74     <aop:aspectj-autoproxy/>
75 
76     <tx:advice id="interceptor" transaction-manager="transactionManager">
77         <tx:attributes>
78            <!-- 查询只读且不开启事务-->
79             <tx:method name="query*" read-only="true" propagation="SUPPORTS"/>
80             <!--下面给它默认开启事务-->
81             <tx:method name="add*" />
82             <tx:method name="del*"/>
83             <tx:method name="update*"/>
84             <tx:method name="*" />
85         </tx:attributes>
86     </tx:advice>
87 
88    <aop:config proxy-target-class="true">
89        <!--切点-->
90        <aop:pointcut id="transaction" expression="execution(* *cn.smbms.service..*.*(..))"/>
91        <aop:advisor advice-ref="interceptor" pointcut-ref="transaction"/>
92    </aop:config>
93 
94 </beans>
原文地址:https://www.cnblogs.com/KcBlog/p/14204977.html