spring使用中报Cannot proxy target class because CGLIB2 is not available错

简介:


发现问题

public interface StudentService
{
 void add();
}

@Service
public class StudentServiceImpl implements StudentService
{
 void add(){  }
}

public class StudentAction extends ActionSupport
{
 private StudentService studentService;

 @Resource
 public void setStudentService()
 {

 }
}

以上描述了一个很简单的注入过程。但若StudentServiceImpl没有实现StudentService接口

@Service
public class StudentServiceImpl
{
 void add(){  }
}

在使用的时候会报Cannot proxy target class because CGLIB2 is not available

 

 

问题原因

代理为控制要访问的目标对象提供了一种途径。当访问对象时,它引入了一个间接的层。JDK自从1.3版本开始,就引入了动态代理,并且经常被用来动态地创建代理。JDK的动态代理用起来非常简单,但它有一个限制,就是使用动态代理的对象必须实现一个或多个接口。

 


解决办法

方案一 使实际的类实现某个接口
方案二 使用CGLIB包

cglib是一个开源项,一个强大的,高性能,高质量的Code生成类库,它可以在运行期扩展Java类与实现Java接口。Hibernate用它来实现PO字节码的动态生成。

 

参考地址:http://baike.baidu.com/view/1254036.htm

 

 

目录
相关文章
|
IDE 大数据 Java
大数据问题排查系列 - HDFS FileSystem API 的正确打开方式,你 GET 了吗?
大数据问题排查系列 - HDFS FileSystem API 的正确打开方式,你 GET 了吗?
|
消息中间件 存储 缓存
Spring Cloud 分布式实时日志分析采集三种方案~
Spring Cloud 分布式实时日志分析采集三种方案~
Spring Cloud 分布式实时日志分析采集三种方案~
|
机器学习/深度学习 边缘计算 人工智能
运维的未来之路:自动化与智能化
【8月更文挑战第16天】在数字化浪潮的推动下,运维领域正经历着前所未有的变革。本文将探讨自动化与智能化如何重塑运维工作,提升效率,降低成本,并预测未来运维的发展趋势。我们将深入分析当前运维面临的挑战,探讨自动化工具的应用,以及人工智能技术如何助力运维智能化,最后展望运维领域的未来可能性。
|
SQL 关系型数据库 MySQL
解决 MySQL 5.7 及以上版本中的 “ONLY_FULL_GROUP_BY“ 错误
解决 MySQL 5.7 及以上版本中的 “ONLY_FULL_GROUP_BY“ 错误
2160 3
|
网络协议 安全 网络虚拟化
"揭秘!网工爱不释手的Wireshark八大绝技,让复杂网络问题无所遁形,你掌握了吗?"
【8月更文挑战第19天】Wireshark是网络工程师不可或缺的工具,以其卓越的抓包与分析能力闻名,在网络故障排除、性能优化和安全审查方面作用显著。本文精选八大实用技巧,包括精准数据包过滤、序列号排序、时间格式调整、数据包解码、混杂模式使用、数据包标记与导出、自定义显示列以及过滤器的高效应用,助您在网络分析中得心应手,成为解决复杂问题的高手。
398 0
|
前端开发 开发者 UED
【Flutter前端技术开发专栏】Flutter中的图标、字体与样式管理
【4月更文挑战第30天】本文介绍了在Flutter中管理图标、字体和样式的做法。Flutter提供`Icons`类用于内置矢量图标,支持第三方图标库如FontAwesome。自定义字体可通过添加字体文件至`assets`目录并配置`pubspec.yaml`,然后使用`TextStyle`设置。借助`ThemeData`,开发者能统一管理应用主题样式,局部样式可覆盖全局。通过集中管理样式,提升代码复用性和应用一致性。
446 0
【Flutter前端技术开发专栏】Flutter中的图标、字体与样式管理
|
前端开发 Java 数据库连接
热门开源项目推荐~商城系统mall项目详细介绍
热门开源项目推荐~商城系统mall项目详细介绍
|
算法 量子技术 数据安全/隐私保护
探索操作系统的未来:量子计算与操作系统的融合
随着量子计算技术的不断进步,其对传统计算机科学领域的影响日益凸显。本文深入探讨了量子计算技术如何影响未来操作系统的设计和实现,包括量子操作系统的基本概念、设计挑战以及可能的应用场景。通过分析当前量子计算技术的发展趋势和现有操作系统的限制,本文提出了一系列创新思路和研究方向,旨在为读者提供一个关于量子计算与操作系统融合可能性的全面视角。
181 0
|
传感器 监控 数据可视化
【阿里云IoT+YF3300】14.阿里IoT Studio打造手机端APP
在上一篇《13.阿里云IoT Studio WEB监控界面构建》中,我们介绍了用阿里云IoT Studio(原Link Develop)可视化构建WEB界面程序。本篇文章将介绍用阿里云IoT Studio打造手机端APP。
5042 1
【阿里云IoT+YF3300】14.阿里IoT Studio打造手机端APP
【面试问题】StampedLock 理解与使用
【1月更文挑战第27天】【面试问题】StampedLock 理解与使用