`

Spring报错“Cannot proxy target class because CGLIB2”不一定是没有CGLIB等相关JAR

阅读更多

Spring2.5启动时候报错 “Cannot proxy target class because CGLIB2”  不一定是缺少CGLIB.jar或者相关的JAR包。 

     你使用Spring AOP 进行操作时候。例如事务管理。 如果你Service层的方法在Spring中的IOC 实现,但是该Service层的类并没有实现接口。 也可能报这个错误。此时除了引入CGLIB2和 ASM包以外。 你可以尝试着写入接口。 Service层的类实现该接口后。启动WEB就不会报这个错误。好好想想aop的含义。及你用Spring的AOP的意义。 面向接口编程的习惯。

分享到:
评论
2 楼 zhengchao860730 2013-08-12  
moshalanye 写道
汗! 写的没重点,含糊。

不知道你到底是想说AOP实现的jar依赖关系,还是说AOP实现方案的多样性,还是良好的编程习惯。

如果观点是,“没有有实现接口不能被AOP,则会报错”。那就不对了。

只是一个错误的解决方式之一。。。 呵呵
1 楼 moshalanye 2012-06-03  
汗! 写的没重点,含糊。

不知道你到底是想说AOP实现的jar依赖关系,还是说AOP实现方案的多样性,还是良好的编程习惯。

如果观点是,“没有有实现接口不能被AOP,则会报错”。那就不对了。

相关推荐

    CGLIB2 is not available&org.objectweb.asm.Type

    关于Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the class path or specify proxy interfaces.和 java.lang.ClassNotFoundException: org.objectweb.asm.Type错误的解决方法: 就是...

    cglib-nodep

    org.springframework.aop.framework.AopConfigException: Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the class path or specify proxy interfaces 从异常信息可以看出是cglib的问题...

    Spring源码缺失的spring-cglib-repack-3.2.6.jar和spring-objenesis-repack-2.6.jar

    在Spring框架中,`spring-cglib-repack-3.2.6.jar`和`spring-objenesis-repack-2.6.jar`是两个重要的依赖库,它们在Spring源码环境中扮演着不可或缺的角色。本文将详细介绍这两个库以及它们在Spring框架中的作用。 ...

    cglib代理模式要使用的相关jar包

    在Java编程中,代理模式是一种设计模式,它允许我们在不修改原有对象的基础上,为对象添加新的功能或行为。代理模式通常分为静态代理和动态代理。本文将重点介绍使用CGLIB库实现的动态代理。 CGLIB(Code ...

    Cglib3.3.0最新版jar包

    Cglib就是一种实现动态代理的方式,不同于JDK自带的Proxy,Cglib不需要目标对象实现任何接口,因此可以用于不能实现接口的对象。通过Enhancer类,我们可以指定需要代理的目标类,并提供回调方法实现动态代理逻辑。 ...

    输出JDK和CGLib动态代理产生的class文件.zip

    - target/classes:编译后的class文件,包括目标接口和实现类的class文件,以及由Proxy生成的代理类class文件 - 测试代码:展示如何使用Proxy创建代理对象并调用方法 2. CGLib代理项目: - src/main/java:包含...

    CGLIB需要的asm-2.2.3.jar和cglib-nodep-2.2.jar

    CGLIB-nodep-2.2.jar包含了CGLIB的所有核心类和接口,如Enhancer、MethodInterceptor等,用于实现动态代理和类的增强。 CGLIB的使用主要集中在以下几个方面: 1. **动态代理**:在Java中,如果我们想要在调用某个...

    cglib所有jar包

    在Spring中,当目标类没有实现任何接口时,Spring会选择使用CGlib来创建代理,实现事务管理、日志记录等功能。此外,CGlib也被ORM框架如Hibernate用于动态生成实体类的代理,以便实现懒加载和其他优化策略。 总的来...

    cglib的jar包

    CGlib是一个Java库,主要用途是提供一个高性能的代码生成库,它被广泛应用于许多Java框架中,如Spring。在Spring框架中,CGlib用于实现IoC(Inversion of Control,控制反转)容器中的动态代理机制。动态代理是...

    spring 3.x 需要的jar包 spring-cglib-repack-3.1.jar

    `spring-cglib-repack-3.1.jar` 是Spring框架中的一个重要组件,它与动态代理有关。CGLIB(Code Generation Library)是一个强大的高性能的代码生成库,用于在运行期扩展Java类与实现Java接口。在Spring中,CGLIB...

    cglib.jar/cglib-nodep.jar免费下载

    CGLib通过创建目标类的子类,为这些类提供代理实现,允许我们在不修改源代码的情况下,增加额外的功能,如日志、性能监控等。 **3. cglib-nodep和cglib的区别** `cglib-nodep.jar`是CGLib的一个版本,它不依赖于...

    spring_aop_cglib的实现方式

    在Spring配置中,如果我们希望使用CGLIB代理,可以在`<aop:config>`或`<aop:aspectj-autoproxy>`元素下添加`<aop:proxy>`子元素,并设置`proxy-target-class="true"`。例如: ```xml <!-- ... --> <aop:...

    Cglib的jar文件 Cglib.zip

    Cglib是一个强大的Java代码生成库,它在运行时动态创建子类,为现有类提供扩展功能。这个库被广泛用于实现AOP(面向切面编程)中的代理机制,特别是当无法通过接口代理时,例如Java标准库中的类。Cglib是Eclipse的...

    简单模拟spring cglib代理

    Spring框架是目前Java企业开发中最为流行的框架之一,它的核心概念之一是面向切面编程(AOP),即在不改变原有代码的基础上,通过代理的方式添加一些横切关注点的代码,如事务管理、日志等。Spring支持两种代理机制...

    Cglib所需要的jar包

    通过Cglib,Spring可以在不修改源代码的情况下,为类添加事务管理、日志记录等横切关注点。此外,Cglib也被广泛应用于ORM框架,如Hibernate,用来增强持久化类,提供懒加载、缓存等功能。 Cglib的使用流程大致如下...

    动态代理cglibjar包和源码

    - JDK Proxy基于接口实现,而CGLIB基于继承,因此CGLIB可以代理没有接口的类。 - JDK Proxy性能相对较慢,因为涉及到反射,而CGLIB通过字节码生成,性能更好。 - JDK Proxy易于理解和使用,CGLIB则需要更深入的...

    cglib2.2jar包

    2. **配置**:在Spring框架中,如果需要使用CGLIB进行AOP代理,需要在配置文件中启用CGLIB代理,例如在XML配置中添加 `<aop:aspectj-autoproxy/>` 或者在Java配置中使用 `@EnableAspectJAutoProxy(proxyTargetClass ...

    Spring如何基于Proxy及cglib实现动态代理

    在Spring框架中,动态代理是一种强大...Java Proxy适用于目标对象实现了接口的情况,而cglib则适用于没有接口或者不想修改原有接口的情况。在实际应用中,根据项目需求和性能考虑,可以选择合适的方式来实现动态代理。

    cglibjar包

    当目标类没有声明为final且不包含final方法时,CGLib能够为其生成子类,并在子类中拦截调用,实现方法拦截或者增强功能。 2. **方法拦截器**:CGLib使用Enhancer类来创建代理对象,可以为这些代理对象指定...

    Cglib所需的jar包

    在实际应用中,Cglib常与Spring AOP结合使用,为非接口类提供代理服务,实现事务管理、日志记录等切面功能。此外,它也被许多ORM框架如Hibernate采用,用来动态生成持久化对象的子类,以便于实现懒加载和其他优化...

Global site tag (gtag.js) - Google Analytics