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 <!--<!–有接口的话切到接口的方法,没有接口切到实现类方法–>--> 37 <!--<!–method切点–>--> 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 <!--<!–注解AOP要开启自动代理–>--> 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配置个人总结