在Spring3中使用CgLib动态代理时出现类似以下日志:
[DEBUG] 2011-06-16 23:23:54,457 org.springframework.aop.framework.Cglib2AopProxy - <Unable to apply any
optimisations to advised method: public java.lang.Object
org.workin.orm.PersistenceProvider.merge(java.lang.Object)>
[DEBUG] 2011-06-16 23:23:54,457 org.springframework.aop.framework.Cglib2AopProxy - <Unable to apply any
optimisations to advised method: public void
org.workin.orm.PersistenceProvider.refresh(java.lang.Object)>
首先了解spring对AOP的支持 :
1、如果目标对象实现了接口,默认会采用JDK的动态代理机制实现AOP
2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP
3、如果目标对象没有实现接口,必须使用CGLIB生成代理,spring会自动在CGLIB和JDK动态代理之间切换
4.如何强制使用CGLIB生成代理?
* 添加CGLIB库,SPRING_HOME/lib/cglib/*.jar
* 在spring的配置文件中加入:
<aop:aspectj-autoproxy proxy-target-class="true"/>
JDK代理和CGLIB代理的区别?
* JDK代理只能对实现了接口的类生成代理,而不能针对类
* CGLIB是针对类实现代理的,主要对指定的类生成一个子类,并覆盖其中的方法,
因为是继承,所以不能使用final来修饰类或方法
解决该信息的处理建议:
1、如果一定要用不实现接口的类。
建议尽量用Set注入,尽可能不用构造方法注入。
2、最好还是定义个接口,然后实现这个接口。
这样不管是什么注入,都没问题了。
因为PersistenceProvider没有实现接口,目前是用@Repository注解注入的,所以将该注解去掉,改为set注入或者在xml中属性注入,就OK了。
分享到:
相关推荐
nuxt构建优化 立即加快您的Nuxt.js v2构建时间。 为什么以及速度有多快? Nuxt.js速度很快,但受其webpack构建的限制,当您的应用增长时,它的运行速度会变慢。 Nuxt构建优化抽象了优化Nuxt.js应用程序的复杂性,...
根据提供的文档信息,我们可以归纳出以下关键知识点,主要聚焦于Unity与PSVR的结合使用、渲染优化技巧以及集成VR解决方案等内容: ### Unity与PSVR的集成 - **文档概述**:文档编号为000007612258的这份资料,主要...
计算pi ** Pascal Sebah : September 1999 ** ** Subject: ** ** A very easy program to compute Pi with ...** No optimisations, no tricks, just a basic program to learn how ** to compute in multiprecision.
有关更多信息,请参见关于的部分。 yarn build 构建生产到应用程序build文件夹。 它在生产模式下正确捆绑了React,并优化了构建以获得最佳性能。 生成被最小化,并且文件名包括哈希值。 您的应用已准备好进行部署...
arnold代码matlab SnobfitClass Neumaier和Huyer基于SNOBFit的MATLAB的实现的基于类的包装器。 该包装程序旨在简化SNOBFit的安装和使用,特别是对于化学和其他黑匣子优化。 基础文件(可以在“ ...
He began applying FPGA technology to image processing in 2002, and since then has published about 25 papers on issues and applications of FPGAs to image processing. 目录 Preface. Acknowledgements. 1...
### 分布式数据库事务处理资料知识点解析 #### 标题:分布式数据库事务处理资料 - **核心内容**:本文档提供了关于分布式事务处理的核心技术标准,重点在于介绍X/Open公司的XA规范。 #### 描述:这应该是目前最...
Enable-Optimisations 为当前目录中的每个.dll创建一个.ini文件,其中包含: [.NET Framework Debugging Control] GenerateTrackingInfo=1 AllowOptimize=0 禁用每个dll的优化 禁用优化 Disable-Optimisations 通过...
在`nuxt.config.js`文件中,我们可以定制项目的配置,比如设置全局的HTML头部信息、引入全局CSS、定义环境变量以及扩展webpack配置。例如,添加自定义的JavaScript脚本到HTML `<script>` 标签,或者在客户端构建时...
Le monitoring est en grande partie basé sur des statistiques de requêtes et sur des courbes d'évolution. Il permet ainsi d'améliorer ... - vérifier l'amélioration réelle après des optimisations
nuxt-build-optimisations立即加快您的Nuxt.js v2构建时间。 为什么以及速度有多快? 当nuxt-build-optimisations立即加快Nuxt.js v2的构建速度时,Nuxt.js速度很快,但受其webpack构建的限制。 为什么以及速度有多...
4.4.1 Mapping to FPGA Resources 97 4.4.2 Algorithm Mapping Issues 100 4.4.3 Design Flow 101 4.5 Designing for Tuning and Debugging 102 4.5.1 Algorithm Tuning 102 4.5.2 System Debugging 104 5 Mapping ...
开源项目-centrifugal-centrifugo.zip,Centrifugo v1.3.2 released – real-time messaging server (WebSocket or SockJS) got lots of useful features since ... various optimisations, new javascript client etc)
Sorted_OEM中的文件详细分类,如api、misc、programming、pe、optimisations、techniques等,涵盖了病毒开发的各个方面,包括API滥用、通用技巧、编程方法、PE文件优化和特定技术细节。这些内容不仅揭示了ASM病毒的...
les améliorations apportées aux outils de gestion, les correctifs de sécurité, les mises à jour de pilotes matériels et les optimisations pour les performances. Il est important pour les ...
这些结果利用了定义辅助变量veq2k(u),其中2≤u≤3,得到了非常简单的解析表达式。这一分析为通信系统性能评估提供了一个重要的理论基础。 此外,文章还进行了系统之间的中断概率(outage probability)和符号错误...