`
flashdream8
  • 浏览: 680434 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring 事务代理 $Proxy0 cannot be cast t.

 
阅读更多

          在使用Spring事务管理时,肯定有很多人都会遇到这样的异常:java.lang.ClassCastException: $Proxy0 cannot be cast t.这个问题的解决办法有两种。

        Spring的文档中这么写的:Spring AOP部分使用JDK动态代理或者CGLIB来为目标对象创建代理。如果被代理的目标实现了至少一个接口,则会使用JDK动态代理。所有该目标类型实现的接口都将被代理。若该目标对象没有实现任何接口,则创建一个CGLIB代理。

        所以,解决办法是,如果用JDK动态代理,就必须为被代理的目标实现一个接口(要注意的地方是:需要将ctx.getBean()方法的返回值用接口类型接收);如果使用CGLIB强制代理,就必选事先将CGLIB包导入项目,设置beanNameAutoProxyCreator的proxyTargetClass属性为true。

 

<aop:config proxy-target-class="true">
		<aop:pointcut id="fooServiceOperation" expression="execution(* com.xxx.service.*.*ServiceImpl.*(..))"  />
		<aop:advisor advice-ref="txAdvice" pointcut-ref="fooServiceOperation" />
	</aop:config>

 

分享到:
评论

相关推荐

    java.lang.NoSuchMethodException: com.sun.proxy.$Proxy58.list错误解决办法

    例如,Spring AOP(面向切面编程)在处理事务时,会为被代理的对象生成这样的代理类。 在给出的描述中,问题出在一个基于Struts2、Hibernate4和Spring4的Web应用项目。开发者创建了一个基类`BaseAction`,该类实现...

    Java动态代理内存中生成的$Proxy0类

    Java动态代理内存中生成的$Proxy0类

    proxy.jsp、proxy.ashx、proxy.php、proxy.config

    它通过设置`esri.config.defaults.io.proxyUrl`来指定代理服务的URL,当ArcGIS JavaScript API请求需要跨域访问的资源时,会自动通过这个代理转发请求。在Java应用中,你需要将`proxy.jsp`部署到服务器,并在Esri的...

    spring proxy代理模仿

    Spring AOP通过代理模式为我们提供了在运行时向目标对象添加拦截器或切面的能力,这在进行日志记录、性能监控、事务管理等场景下非常实用。 首先,让我们了解代理模式的基本概念。代理模式是一种设计模式,它为一个...

    charles-proxy-4.6.2_amd64.tar.gz

    《Charles Proxy 4.6.2在AMD64架构下的应用详解》 “青花瓷”一词在本文中并非指传统的瓷器艺术,而是代指一款名为“Charles Proxy”的网络调试工具的最新版本——“charles-proxy-4.6.2_amd64.tar.gz”。这个...

    08spring4_dynamicproxy.rar

    // UserService proxy =(UserService)pih.getProxy(); // proxy.search(); ProxyInovationHandler ph =new ProxyInovationHandler(); ph.setTarget(new ArrayList()); List list =(List)ph.getProxy(); ...

    UPX_net.upx.proxy.browser_102_69.0.3497.100_.apk

    UPX_net.upx.proxy.browser_102_69.0.3497.100_.apk

    Java 动态代理Proxy应用和底层源码分析.pdf

    1. **AOP(面向切面编程)**:例如Spring AOP就是利用动态代理机制来实现在不修改原有业务代码的情况下增加日志记录、事务管理等功能。 2. **RPC(远程过程调用)**:在客户端和服务端通信过程中,客户端可以通过...

    win64 charles-proxy-4.6.3-win64.msi

    安装后,按照向导提示设置系统代理,并在Charles Proxy中启用SSL代理(可能需要安装其提供的根证书)。在使用过程中,遇到问题可以查阅官方文档或社区论坛,通常能找到解决方案。 总的来说,Charles Proxy 4.6.3是...

    Github Python ProxyPool(代理池)

    简易高效的代理池,提供如下功能: 1. 定时抓取免费代理网站,简易可扩展 2. 使用 Redis 对代理进行存储并对代理可用性进行排序 3. 定时测试和筛选,剔除不可用代理,留下可用代理 4. 提供代理 API,随机取用测试...

    arcgis proxy.ashx,proxy.config

    arcgis for javascript api所需要的配置文件,能解决跨域访问的问题,我在proxy....包含两个文件proxy.ashx,proxy.config两个文件,上次下载一个说是有两个文件,其实里面只有一个,有被骗了的感觉,所以这次上传上来

    跨语言IP代理池,Python实现

    跨语言高性能IP代理池,Python实现。 注意:请运行程序前先更新一下抓取代理的爬虫 运行环境 Python 3.6 (请务必保证Python的版本在3.6以上,否则异步检验无法使用。) Redis Redis官网并没有提供Windows的安装版...

    Spring源代码解析(五):Spring_AOP获取Proxy.doc

    本文将深入解析Spring AOP如何获取代理对象,即Proxy。 首先,我们需要理解AOP的核心概念: 1. **Advice**:通知,是切面实际执行的操作。在Spring中,Advice可以是Before、AfterReturning、AfterThrowing以及...

    ArcGIS JS API跨域配置 Proxy 代理

    "ArcGIS JS API跨域配置 Proxy 代理" ArcGIS JS API 跨域配置是指在 JS 开发中遇到的访问本地服务和外网服务的问题,需要使用 Proxy 代理来解决跨域访问文件的问题。ArcGIS 的帮助中已经有了相关的介绍和使用配置。...

    Spring Boot 使用 ProxyServlet 代理并统一响应

    代理(Proxy)是指客户端通过一个中间服务器间接访问目标服务器,而反向代理(Reverse Proxy)则是指客户端看似直接与服务器交互,但实际上请求被转发给了另一个服务器。在Spring Boot中,我们可以利用`ProxyServlet...

    PHP代理脚本php-proxy.zip

    php-proxy 是基于 PHP,Symfony 和 cURL 的代理脚本,这个库借鉴了 Glype,Jenssegers proxy 和 Guzzle 的经验。示例require('vendor/autoload.php'); use Proxy\Http\Request; use Proxy\Proxy; $request = ...

    proxy-fetch:只是一个快速的CLI工具,可以让我获得一个主机

    代理获取 只是一个快速的CLI工具,可以让我从获得代理的HOST:PORT 安装 npm i -g git+https://github.com/valer-cara/proxy-fetch.git 运行示例 $ proxy-fetch Country: China - Qingdao | Uptime: 38% 218.201....

    ngx_http_proxy_connect_module.zip

    ngx_http_proxy_connect_module是一个针对Nginx服务器的第三方模块,主要功能是支持HTTP代理的"CONNECT"方法。在默认情况下,Nginx仅处理HTTP和HTTPS请求,但不支持通过HTTP代理进行TCP连接,比如SSL/TLS隧道。这个...

Global site tag (gtag.js) - Google Analytics