spring搭建Mybatis,XML配置以及事务通知,AOP配置

 1  <!--扫描器-->
 2     <context:component-scan
 3             base-package="com.spring.dao,com.spring.service,com.spring.aop"></context:component-scan>
 4     <!--引入jdbc.properties文件-->
 5     <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>
 6     <!--获得数据源-->
 7     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
 8         <property name="url" value="${jdbc_url}"></property>
 9         <property name="username" value="${jdbc_user}"></property>
10         <property name="password" value="${jdbc_password}"></property>
11         <property name="driverClassName" value="${jdbc_driver}"></property>
12     </bean>
13 
14     <!--获得mybaits工厂 bean-->
15     <bean id="factoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
16         <!--注入的数据源-->
17         <property name="dataSource" ref="dataSource"></property>
18         <!--注入mapper配置-->
19         <property name="mapperLocations" value="classpath:com/spring/dao/*Mapper.xml"></property>
20         <!--别名-->
21         <property name="typeAliasesPackage" value="com.spring.bean"></property>
22     </bean>
23 
24     <!--mapperd绑定接口-->
25     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
26         <!--注入工厂bean-->
27         <property name="sqlSessionFactoryBeanName" value="factoryBean"></property>
28         <!--绑定接口。绑定接口的形式,批量的绑定接口-->
29         <property name="basePackage" value="com.spring.dao"></property>
30     </bean>
31     <!--切面的路径-->
32     <bean id="myAspect" class="com.spring.aop.MyAspect"></bean>
33     <!--切面的标签-->
34     <!--<aop:config>-->
35     <!--<aop:aspect  ref="myAspect">-->
36     <!--&lt;!&ndash;有接口的话切到接口的方法,没有接口切到实现类方法&ndash;&gt;-->
37     <!--&lt;!&ndash;method切点&ndash;&gt;-->
38     <!--<aop:before method="beforeMessage" pointcut="execution(* com.spring.*.IUserCrudDao.*(..))"></aop:before>-->
39     <!--<aop:after method="afterMessage" pointcut="execution(* com.spring.*.IUserCrudDao.*(..))"></aop:after>-->
40     <!--<aop:around method="aroundMessage" pointcut="execution(* com.spring.*.IUserCrudDao.*(..))"></aop:around>-->
41     <!--</aop:aspect>-->
42     <!--</aop:config>-->
43 
44     <!--&lt;!&ndash;注解AOP要开启自动代理&ndash;&gt;-->
45     <aop:aspectj-autoproxy></aop:aspectj-autoproxy>
46 
47     <!--事务配置-->
48     <!--数据源(以上已配置id="dataSource")-->
49     <!--事务管理-->
50     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
51         <property name="dataSource" ref="dataSource" ></property>
52     </bean>
53     <!--事务通知-->
54     <tx:advice id="mybatisAdvice" transaction-manager="transactionManager">
55         <tx:attributes>
56             <!--查询不需要事务-->
57             <tx:method name="find*" read-only="true"/>
58             <!--name指的service中的方法名-->  <!--Exception 任何的异常都回滚-->
59             <!--事务传播属性默认值propagation="REQUIRED"-->
60             <!--默认的事务隔离级别isolation="READ_COMMITTED"-->
61             <tx:method name="*" rollback-for="Exception" propagation="REQUIRED" isolation="READ_COMMITTED"></tx:method>
62             <!--<tx:method name="*" rollback-for="Exception" isolation="READ_COMMITTED" propagation="REQUIRED"></tx:method>-->
63         </tx:attributes>
64     </tx:advice>
65     <!--AOP-->
66     <aop:config>
67         <!--advisor 增强通知  -->               <!--pointcut切点-->
68         <aop:advisor advice-ref="mybatisAdvice" pointcut="execution(* com.spring.*.IUserCrudService.*(..))"></aop:advisor>
69         <aop:advisor advice-ref="mybatisAdvice" pointcut="execution(* com.spring.*.IMarketService.*(..))"></aop:advisor>
70     </aop:config>

spring搭建Mybatis,XML配置以及事务通知,AOP配置个人总结

猜你喜欢

转载自www.cnblogs.com/xieshilin/p/12014299.html