Consider injecting the bean as one of its interfaces or forcing the use of CGLib-based proxies by se...

2023-10-30

背景

  今天在写一个数据处理程序的时候, 我打算优化一下我的程序, 本来是直接用Mapper层进行单行记录保存的, 也就是调用的Mapper的insert函数

过程

  然后我就写了一个Service, 但是我没有写接口, 是直接写了一个具体的实现类

@Service
public class InstitutionService extends ServiceImpl<InstitutionMapper, Institution>{
}

  这样看应该是没问题的吧

使用方式

@Autowired
protected InstitutionService institutionService;

  直接在其他类中注入使用, 我打算直接用它的saveBatch函数

问题

  然后就出现了标题中的一幕, 启动项目报错了

2023-01-09 10:45:22,854 WARN (AbstractApplicationContext.java:559)- Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'indexController': Unsatisfied dependency expressed through field 'organService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'organService': Unsatisfied dependency expressed through field 'institutionService'; nested exception is org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'institutionService' is expected to be of type 'com.example.parsedata.service.InstitutionService' but was actually of type 'com.sun.proxy.$Proxy74'
2023-01-09 10:45:22,855 INFO (DruidDataSource.java:2003)- {dataSource-1} closing ...
2023-01-09 10:45:22,858 INFO (DruidDataSource.java:2075)- {dataSource-1} closed
2023-01-09 10:45:22,860 INFO (DirectJDKLog.java:173)- Stopping service [Tomcat]
2023-01-09 10:45:22,869 INFO (ConditionEvaluationReportLoggingListener.java:136)- 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2023-01-09 10:45:22,871 ERROR (LoggingFailureAnalysisReporter.java:40)- 

***************************
APPLICATION FAILED TO START
***************************

Description:

The bean 'institutionService' could not be injected as a 'com.example.parsedata.service.InstitutionService' because it is a JDK dynamic proxy that implements:


Action:

Consider injecting the bean as one of its interfaces or forcing the use of CGLib-based proxies by setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching.

分析

这里就可以分析一下问题原因了, 其实Description和Action描述的已经很清楚了

Description

这个Bean institutionService 在进行自动装配的时候不能找到 InstitutionService这个类, 因为使用的是JDK动态代理实现的

Action

考虑作为一个接口的实现, 或者强制使用CGLIB动态代理

应为Spring默认使用的是JDK的动态代理, 而JDK动态代理是基于接口实现的, 而在生成了代理类之后, 因为注入的不是接口, 而是实现类, 所以无法注入

解决

创建一个接口给现在的类实现

public interface IInstitutionService extends IService<Institution> {
}
@Service
public class InstitutionService extends ServiceImpl<InstitutionMapper, Institution> implements IInstitutionService{
}

使用时注入接口

@Autowired
protected IInstitutionService institutionService;

再次启动, 就OK了, 完美解决

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Consider injecting the bean as one of its interfaces or forcing the use of CGLib-based proxies by se... 的相关文章

  • 与 Eclipse 中的 Java Content Assist 交互

    作为我的插件项目的一部分 我正在考虑与 Eclipse 在 Java 文件上显示的内容辅助列表进行交互 我正在尝试根据一些外部数据对列表进行重新排序 我看过一些有关创建新内容辅助的教程 但没有看到有关更改现有内容辅助的教程 这可能吗 如果是
  • 如何在 JPQL 或 HQL 中进行限制查询?

    在 Hibernate 3 中 有没有办法在 HQL 中执行相当于以下 MySQL 限制的操作 select from a table order by a table column desc limit 0 20 如果可能的话 我不想使用
  • 如何在 Java 中向时间戳添加/减去时区偏移量?

    我正在使用 JDK 8 并且玩过ZonedDateTime and Timestamp很多 但我仍然无法解决我面临的问题 假设我得到了格式化的Timestamp在格林威治标准时间 UTC 我的服务器位于某处 假设它设置为Asia Calcu
  • Jframe 内有 2 个 Jdialogs 的 setModal 问题

    当我设置第一个选项时 我遇到了问题JDialog模态 第二个非模态 这是我正在尝试实现的功能 单击 测试对话框 按钮 一个JDialog有名字自定义对话框 主要的将会打开 如果单击 是 选项自定义对话框主 其他JDialog named 自
  • 提供节点名或服务名,或未知 Java

    最近我尝试运行我的 Java 项目 每当我运行它并将其打开到我得到的服务器地址时 Unable to determine host name java net UnknownHostException Caused by java net
  • Android 无法解析日期异常

    当尝试解析发送到我的 Android 客户端的日期字符串时 我得到一个无法解析的日期 这是例外 java text ParseException 无法解析的日期 2018 09 18T00 00 00Z 位于 偏移量 19 在 java t
  • 如何在 ant 中为 junit 测试设置 file.encoding?

    我还没有完全完成file encoding 和 ant https stackoverflow com questions 1339352 how do i set dfile encoding within ants build xml
  • Akka 与现有 java 项目集成的示例

    如果我已经有现有的javaWeb 应用程序使用spring and servlet容器 将 Akka 集成到其中的正确方法是什么 就像我将会有Actor1 and Actor2互相沟通的 开始使用这些演员的切入点是什么 例如 1 把它放在那
  • 如何在.NET中使用java.util.zip.Deflater解压缩放气流?

    之后我有一个转储java util zip Deflater 可以确认它是有效的 因为 Java 的Inflater打开它很好 并且需要在 NET中打开它 byte content ReadSample sampleName var inp
  • 如何在JPanel中设置背景图片

    你好 我使用 JPanel 作为我的框架的容器 然后我真的想在我的面板中使用背景图片 我真的需要帮助 这是我到目前为止的代码 这是更新 请检查这里是我的代码 import java awt import javax swing import
  • JDBC 时间戳和日期 GMT 问题

    我有一个 JDBC 日期列 如果我使用 getDate 则会得到 date 仅部分2009 年 10 月 2 日但如果我使用 getTimestamp 我会得到完整的 date 2009 年 10 月 2 日 13 56 78 890 这正
  • hibernate 6.0.2.Final 和 spring boot 2.7.0 的entityManagerFactory bean 未配置问题

    所以最近我想升级我的 Spring Boot 项目项目的一些依赖项 特别是这些组件 雅加达 EE 9 弹簧靴2 7 休眠 6 0 2 Final 完成此操作后 所有更新和代码折射 更新将 javax 导入到 jakarta 以及一些 hib
  • 使用 HtmlUnit 定位弹出窗口

    我正在构建一个登录网站并抓取一些数据的程序 登录表单是一个弹出窗口 所以我需要访问这个www betexplorer com网站 在页面的右上角有一个登录链接 写着 登录 我单击该链接 然后出现登录弹出表单 我能够找到顶部的登录链接 但找不
  • 在 Spring 上下文中查找方法级自定义注释

    我想知道的是 所有的类 方法Spring http en wikipedia org wiki Spring Framework注释为 Versioned的bean 我创建了自定义注释 Target ElementType METHOD E
  • Android S8+ 警告消息“不支持当前的显示尺寸设置,可能会出现意外行为”

    我在 Samsung S8 Android 7 中收到此警告消息 APP NAME 不支持当前的显示尺寸设置 可能会 行为出乎意料 它意味着什么以及如何删除它 谢谢 通过添加解决supports screens 机器人 xlargeScre
  • 列表过滤器内的 Java 8 lambda 列表

    示例 JSON id 1 products id 333 status Active id 222 status Inactive id 111 status Active id 2 products id 6 status Active
  • java XMLSerializer 避免复杂的空元素

    我有这个代码 DocumentBuilderFactory factory DocumentBuilderFactory newInstance DocumentBuilder builder factory newDocumentBuil
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应
  • Java/Python 中的快速 IPC/Socket 通信

    我的应用程序中需要两个进程 Java 和 Python 进行通信 我注意到套接字通信占用了 93 的运行时间 为什么通讯这么慢 我应该寻找套接字通信的替代方案还是可以使其更快 更新 我发现了一个简单的修复方法 由于某些未知原因 缓冲输出流似
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁

随机推荐

  • git 查看远程地址 与 远程地址的设置

    一 查看远程地址 git remote v 如果绑定好远程地址的话 会有两条地址 fetch 和 push 那么 fetch 表示我们要获取到的地址 push则表示我们要推送的地址 二 远程地址的设置 1 添加远程地址 git remote
  • Prometheus 集成 Node Exporter

    文章首发于公众号 程序员果果 地址 https mp weixin qq com s 40ULB9UWbXVA21MxqnjBxw 简介 Prometheus 官方和一些第三方 已经把一些常用数据库 系统 中间件等的指标数据的采集做成了一个
  • 图像处理常用插值方法总结

    常用的插值方法 1 最邻近元法 这是最简单的一种插值方法 不需要计算 在待求象素的四邻象素中 将距离待求象素最近的邻象素灰度赋给待求象素 设i u j v i j为正整数 u v为大于零小于1的小数 下同 为待求象素坐标 则待求象素灰度的值
  • 矩阵运算库

    gt Android Java矩阵计算的架包Jama Jama是一个基本的线性代数Java包 包括一个基本的Matrix类和5个矩阵分解类 Matrix类提供了基本的线性代数数值运算的功能 不同的构造函数可以构造双精度和浮点精度的二维数组
  • 什么是DHCP?有什么优缺点

    DHCP 代表动态主机配置协议 它是存在于应用层的网络管理协议 在它的帮助下 可以将 Internet 协议 IP 地址动态分配给网络上的任何设备或节点 以便它们可以使用该 IP 进行通信 网络管理员的任务是为网络中的所有设备手动分配大量
  • STM32组合设备实现USB转双串口

    USB转双串口 核心技术就在于组合设备 USB Composite 的实现 组合设备的实现 其核心技术在于描述符的实现 下面我们先给出描述符 设备描述符 C 纯文本查看 复制代码 00001 00002 00003 00004 00005
  • IDEA 获取类的相对路径和绝对路径

    1 相对路径 结果 action HelloAction 2 绝对路径 结果 E javaProject JavaEEProject day08 Struts2 test01 src action HelloAction java 转载于
  • 登录注册与Cookie

    很多时候 我们登录一个网站的第一步是注册用户 然后登录 这个高频次的操作前端与后端是如何交互完成登录成功页面跳转的呢 今天我们来聊一聊登录注册的那些事 登录注册的流程 如上图 第一步 用户在注册页面将自己的账号密码邮箱等等信息传给服务器 第
  • 小熊派STM32-OTA+IOT教程

    近期在准备一个物联网课程 主要是针对STM32OTA升级 这次使用的是小熊派物联网开发板 项目地址 https gitee com wenzhengclub bearpi iot ota 其实这个开发板去年我就拿到手了 只是一直没有机会和时
  • Colaboratory下载Kaggle数据

    快捷链接 Colaboratory网址 Kaggle网址 Kaggle获取不了验证码的可以留言 进入Kaggle的账户 新建一个API Token 就会下载一个kaggle json文件 同时出现下面提示 这个在本地运行的时候 需要将kag
  • SQL: STUFF()和FOR XML PATH的使用

    STUFF param1 startIndex length param2 将param1中自startIndex SQL中都是从1开始 而非0 起 删除length个字符 然后用param2替换删掉的字符 示例 select STUFF
  • Gcov/Lcov生成覆盖率遇到的一系列问题(ubuntu18.04)

    1 lcov安装 sudo apt get install lcov 此时安装的lcov版本号是1 13 2 lcov使用 生成覆盖率关联的库在编译时需要加上以下标志位 set CMAKE CXX FLAGS CMAKE CXX FLAGS
  • Docker 使用及常用命令(一)

    一 Docker 基本概念 Docker 是一个开源的应用容器引擎 依赖于已存在并运行的 Linux 内核环境 它允许开发者将应用及其依赖包打包到一个轻量级 可移植的容器中 发布到任何流行的 Linux 机器上 容器相互之间不存在任何接口
  • 稳压二极管串联电阻计算

    稳压二极管是稳压电路的一种方式 但是提供负载的动力与二极管自身的功率有关 例如ZMM 5V 功率1W 最小的反向稳压管的电流5mA 最大的反向稳压管电流 Izmax P U 1W 5v 200mA 当稳压管流向最大电流200mA 则流过串联
  • 自动驾驶仿真平台Carla从入门到放弃

    一 Carla的基本概念 人工智能 5G和V2X技术的不断发展使得自动驾驶成为可能 近几年 自动驾驶发展迅速 在科技新闻上经常可以看到自动驾驶的身影 而从事自动驾驶相关软 硬件研究的高效研究所和公司也越来越多 既有传统的汽车巨头 也有新兴的
  • Angular4.0_环境搭建

    1 百度Node js下载并安装 2 检查npm版本 npm v 3 安装angular cli sudo npm install g angular cli 4 检查版本 ng v 5 在当前目录下创建angular项目 ng new a
  • 【AIGC】2、Visual ChatGPT

    文章目录 一 背景 二 Visual ChatGPT 2 1 对系统规则的提示管理 2 2 基础模型的提示管理 2 3 用户提问的提示管理 2 4 基础模型输出的提示管理 三 实验 3 1 实验设置 3 2 多轮对话的完整案例 3 3 Ca
  • MDK在链接时提示空间不够(No space in execution regions with .ANY selector... )的解决方案总结

    RealView MDK具有强大的编译 链接功能 嵌入式设备拥有的资源往往有限 如果一个程序编译 链接之后的可执行文件大小略大于存储大小时 则不能生成可执行文件进行调试或固化到Flash中 在这种情况下我们一般不去从硬件上调整存储空间的大小
  • 2021-10-10 at32f403a iap

    1 flash page 和 stm103 一样 2 启动偏移重映射说明 在对STM32F1 F2 F3 F4 F0几个系列的芯片作IAP应用时 F0系列跟其它系列不一样 它没有中断矢量定义寄存器SCB VTOR 所以在相应的用户APP代码
  • Consider injecting the bean as one of its interfaces or forcing the use of CGLib-based proxies by se...

    背景 今天在写一个数据处理程序的时候 我打算优化一下我的程序 本来是直接用Mapper层进行单行记录保存的 也就是调用的Mapper的insert函数 过程 然后我就写了一个Service 但是我没有写接口 是直接写了一个具体的实现类 Se