2 qq 35071532 qq_35071532 于 2017.09.19 10:00 提问

spring中加入AOP事务报错

<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">

<context:component-scan base-package="com.atguigu">
    <context:exclude-filter type="annotation"
        expression="org.springframework.stereotype.Controller" />
</context:component-scan>

<!-- Spring的配置文件,这里主要配置和业务逻辑有关的 -->
<!--=================== 数据源,事务控制,xxx ================-->
<context:property-placeholder location="classpath:dbconfig.properties" />
<bean id="pooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
    <property name="driverClass" value="${jdbc.driverClass}"></property>
    <property name="user" value="${jdbc.user}"></property>
    <property name="password" value="${jdbc.password}"></property>
</bean>

<!--================== 配置和MyBatis的整合=============== -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <!-- 指定mybatis全局配置文件的位置 -->
    <property name="configLocation" value="classpath:mybatis-config.xml"></property>
    <property name="dataSource" ref="pooledDataSource"></property>
    <!-- 指定mybatis,mapper文件的位置 -->
    <property name="mapperLocations" value="classpath:mapper/*.xml"></property>
</bean>

<!-- 配置扫描器,将mybatis接口的实现加入到ioc容器中 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <!--扫描所有dao接口的实现,加入到ioc容器中 -->
    <property name="basePackage" value="com.atguigu.crud.dao"></property>
</bean>


<!--=============================================  -->

<!-- ===============事务控制的配置 ================-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <!--控制住数据源  -->
    <property name="dataSource" ref="pooledDataSource"></property>
</bean>
<!--开启基于注解的事务,使用xml配置形式的事务(必要主要的都是使用配置式)  -->
<aop:config>
    <!-- 切入点表达式 -->
    <aop:pointcut expression="execution(* com.atguigu.crud.service..*(..))" id="txPoint"/>
    <!-- 配置事务增强 -->
    <aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/>
</aop:config>

<!--配置事务增强,事务如何切入  -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
        <!-- 所有方法都是事务方法 -->
        <tx:method name="*"/>
        <!--以get开始的所有方法  -->
        <tx:method name="get*" read-only="true"/>
    </tx:attributes>
</tx:advice>

<!-- Spring配置文件的核心点(数据源、与mybatis的整合,事务控制) -->

2个回答

xiaoming120915
xiaoming120915   2017.09.19 10:28

你要把错误信息完整发出来看看啊。

qq_33727653
qq_33727653   Rxr 2017.09.19 10:40

报什么错,俺们都是底层代码工,只能具体问题具体分析,看错误解决问题(而且不一定能解决),希望有大神给你解决,或者贴全一点!!!!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
使用spring AOP事务的时候报错的原因
今天在用aop事务管理的时候,突然报了个错 Bean named 'userServiceImpl' must be of type [com.carry.ssm.ServicesImp.UserServiceImpl],  but was actually of type [com.sun.proxy.$Proxy13] 原因是在controller层调用了service层的实现类,
SpringAOP与Spring事务处理总结
spring用到的另外一项技术就是AOP(Aspect-Oriented Programming, 面向切面编程),它是一种新的方法论, 是对传统 OOP(Object-Oriented Programming, 面向对象编程)的补充。AOP 的主要编程对象是切面(aspect), 而切面模块化横切关注点。在应用 AOP 编程时, 仍然需要在定义公共功能, 但可以明确的定义这个功能
修复dubbo注解与spring aop冲突的问题
在使用dubbo2.8.4版本的时候,项目中有使用spring的声明式事务,dubbo的服务暴露使用了注解,发现服务一直没被监测到,后面查看源码debug,才发现dubbo有个bug,需要改动源码来修复。 找到com.alibaba.dubbo.config.spring.AnnotationBean类,然后修改 public Object postProcessAfterIn
Intellij IDEA中Spring配置aop增强事务 出现BeanCreationException异常处理方法
项目缺少aspects依赖 解决办法:在pom.xml文件配置依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>4.2.1.RELEASE</version> </dependency>
springboot配置aop切面详解
1 引入依赖 org.springframework.boot spring-boot-starter-aop 2  是否需要在程序主类中增加@EnableAspectJAutoProxy 注解 答案是否。只要引入了AOP依赖后,默认已经增加了@EnableAspectJAutoProxy。 3 实例 @Aspect @Component public cla
spring中事务和aop的顺序问题二(配置形式)
今 天在开发过程中发现一个很奇怪的问题,在模拟事务回滚过程中,发现事务回滚没问题,异常也输出了,但之前配置的afterthrowing记录出错日志配 置却始终不好用,根本不会执行到afterthrowing配置的方法内但afterreturning配置 却没有问题,去掉配置的AOP事务后,afterthrowing一切正常。。。仔细想想整个程序执行步骤,考虑到事务的回滚用到的是环绕通知 aroun
spring配置文件加<aop:aspectj-autoproxy/>后无法启动listener【解决方案】
原因:未导入aspectjweaver的jar包。 解决方法:在pom文件中添加依赖。 org.aspectj aspectjweaver 1.8.9
Spring配置项之<aop:aspectj-autoproxy />
通过配置织入@Aspectj切面  虽然可以通过编程的方式织入切面,但是一般情况下,我们还是使用spring的配置自动完成创建代理织入切面的工作。  通过aop命名空间的 />声明自动为spring容器中那些配置@aspectJ切面的bean创建代理,织入切面。当然,spring  在内部依旧采用AnnotationAwareAspectJAutoProxyCreator进行自
数据库事务的四大特性、隔离级别以及Spring中如何利用AOP进行事务管理
首先,什么是事务? 事务就是业务上的一个逻辑单元,它能够保证其中对数据所有的操作,要么成功,要么失败。 其次,事务的特性有哪些? 1.原子性。 例如,转账,A账户减少,B账户增加。虽然是两条 DML语句,但是被当做是一个整体,一次事务。两条语句只能同时成功或者同时失败。 2.一致性。 账户A和B,要么都是转账前的状态,要么都是转账后的状态。(不能A账户的钱减少了但是B账户的钱没有增加)
spring aop事务支持与synchronized的问题
为了防止幻读在service层方法上加了synchronized还是出现了幻读的情况 解决办法 把synchronized加到Controller层或者大于事务边界的调用层 原因 使用了spring aop事务,事务提交在一个service方法执行完毕后,加了synchronized的方法执行结束可能事务还没有提交, 这时候另外一个线程开始执行synchronized方法导致并发问题出现