0 0

Spring能否仅对指定的Bean强制使用cglib方式AOP3

如题,
我知道可以通过<aop:aspectj-autoproxy proxy-target-class="true" />来强制Spring使用cglib,
但这是针对所有的Bean;
也可以在Bean的配置中加入以下来针对某个具体的Bean:
<aop:scoped-proxy proxy-target-class="true" />
但是这种方式如果该Bean的Scope是prototype的话,每次访问该bean的属性都会导致重新new一个新的bean(也许是Spring认为prototype scope已经过期了吧),而且文档上也说scoped-proxy不能用于singleton和prototype。

有没有什么办法可以:
1、只让某些指定的Bean强制使用cglib方式
2、在scope是prototype的情况下也可以正常使用
2011年9月14日 18:04
目前还没有答案

相关推荐

    Spring学习笔记(14)----使用CGLIB实现AOP功能

    配置CGLIB在Spring中的使用,一般不需要额外的配置,因为Spring默认会自动选择CGLIB或JDK动态代理,取决于目标类是否实现了接口。如果你想要显式指定使用CGLIB,可以在XML配置中加入以下代码: ```xml &lt;aop:config&gt;...

    spring源码--AOP流程--笔记.docx

    Spring AOP 通过解析 Bean 定义文件、AOP 配置文件、Aspect 配置文件和 Advice 配置文件来生成代理对象,并且使用 Cglib 来生成代理对象。这样,Spring AOP 就可以实现横切关注点的模块化,提高应用程序的灵活性和可...

    spring-boot aop

    默认情况下,Spring使用基于Java的代理,但对于需要在静态方法或非Spring管理对象上应用AOP的情况,可能需要使用CGLIB或AspectJ字节码代理。 5. **理解代理行为**:理解Spring AOP代理的工作方式很重要,因为这可能...

    Spring Bean重复执行两次(实例被构造两次)问题分析

    综上所述,Spring Bean重复执行两次的问题通常是由于配置错误、依赖注入循环、初始化回调的不当使用、静态工厂方法的误用、AOP代理的配置问题或是Bean作用域设置不准确导致的。通过仔细检查和修正这些问题,可以避免...

    spring学习之七“AOP使用spring静态配置文件(CGLIB)”

    本篇将深入探讨如何使用Spring的静态配置文件结合CGLIB库来实现AOP。CGLIB是一个代码生成库,它被Spring用来动态地创建代理对象,以实现代理模式,进而支持AOP。 首先,我们需要理解AOP的核心概念。切面(Aspect)...

    Spring-AOP-JDK动态代理

    Spring AOP通过代理模式实现了这一概念,允许开发者在不修改源代码的情况下插入额外的功能。 JDK动态代理是Java提供的一种创建代理对象的方式,它在运行时根据接口生成一个实现了这些接口的代理类。Spring AOP可以...

    Spring Aop使用实例

    Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架的一个重要组成部分,它提供了一种在不修改原有代码的情况下,通过代理方式添加额外功能的技术。这种技术使得我们可以实现如日志记录、事务...

    Spring aop使用探究实例

    Spring AOP,全称为Spring...了解并熟练掌握这些知识点,能帮助开发者更好地利用Spring AOP来设计和实现高效、解耦的系统。在实际项目中,合理地使用AOP可以极大地提高代码的复用性和可维护性,同时降低系统的复杂度。

    springAop默认代理方式.zip

    5. **代理的使用**:在应用中,我们通常不直接引用目标对象,而是通过ApplicationContext获取Bean,此时Spring会自动创建并返回相应的代理对象。这样,当我们调用代理对象的方法时,就会触发AOP代理逻辑。 6. **切...

    死磕Spring之AOP篇 - Spring AOP两种代理对象的拦截处理(csdn)————程序.pdf

    Spring AOP 是一种面向切面编程的技术,它允许我们在不修改源代码的情况下,对应用程序的特定部分(如方法调用)进行增强。在 Spring 中,AOP 的实现主要依赖于代理模式,有两种代理方式:JDK 动态代理和 CGLIB 动态...

    以注解方式模拟Spring IoC AOP

    - **基于代理的AOP**:Spring使用JDK动态代理或CGLIB动态代理创建目标对象的代理,代理对象在调用目标方法前后执行切面逻辑。 - **基于注解的AOP**:Spring支持在方法上直接定义切面注解,如`@Before`, `@After`, `...

    Spring 2.5 AOP 例子

    Spring 2.5 AOP(面向切面编程)是Java应用程序中的一个重要概念,它允许开发者在不修改原有代码的情况下插入新的行为或监控。这个例子旨在帮助我们理解和应用Spring框架的AOP特性。以下是对该主题的详细解释: 一...

    简单spring aop 例子

    Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来处理系统中的交叉关注点问题,如日志、事务管理、安全性等。本示例将简要介绍如何在Spring应用中实现AOP,通过实际的...

    SpringBean 调用 事务 AOP

    本篇文章将深入探讨如何在Spring中通过Bean调用来应用事务AOP,并通过示例代码详细解释其配置和工作原理。 首先,Spring的事务管理是基于AOP实现的,它提供了声明式事务处理,允许开发者在不修改业务代码的情况下,...

    springAOP配置动态代理实现

    Spring AOP(面向切面编程)是Spring框架的重要组成部分,它允许程序员在不修改源代码的情况下,通过在运行时插入额外的行为(如日志记录、性能监控等)来增强对象的功能。动态代理则是Spring AOP实现的核心技术之一...

    Spring AOP IOC源码笔记.pdf

    Spring框架是Java开发中不可或缺的一部分,它主要由两个核心组件构成:IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)。本笔记将深入探讨这两个概念以及它们在Spring中...

    spring AOP 引入jar包,spring IOC 引入Jar包

    5. **代理(Proxy)**:Spring AOP 使用动态代理技术创建对象,有两种代理方式:JDK 动态代理和 CGLIB 代理。前者适用于接口实现类,后者适用于没有接口的类。 6. **注解使用**:如 @Aspect、@Before、@After、@...

    springAop与spring定时器

    Spring AOP(面向切面编程)是Spring框架中的一个重要组件,它允许我们在不修改源代码的情况下,通过在程序运行时动态地将代码插入到方法调用中,来实现跨切面的关注点,如日志记录、性能监控、事务管理等。而Spring...

    springAop的配置实现

    - **代理(Proxy)**:Spring AOP通过代理模式来实现切面功能,有JDK动态代理和CGLIB代理两种方式。 **2. JDK 动态代理** - 当目标类实现了接口时,Spring AOP会选择使用JDK动态代理。它会生成一个实现了目标类所有...

    springAOP所需jar包

    Spring AOP,即Spring的面向切面编程模块,是Spring框架的重要组成部分,它提供了一种在不修改源代码的情况下对程序进行扩展和增强的方法。在Java应用中,AOP主要用于日志记录、性能统计、安全控制、事务管理等方面...

Global site tag (gtag.js) - Google Analytics