springboot CGLib 方式实现AOP代理问题

2023-11-08

 

在Spring Boot中引入AOP就跟引入其他模块一样,非常简单,只需要在pom.xml中加入如下依赖:

 

 

dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>

 

 

 

在完成了引入AOP依赖包后,一般来说并不需要去做其他配置

而当我们需要使用CGLIB来实现AOP的时候,需要配置spring.aop.proxy-target-class=true,不然默认使用的是标准Java的实现,就会报错。错误信息如下:


***************************

APPLICATION FAILED TO START
***************************
Description::
The bean 'jdbcTemplate' could not be injected as a 'org.springframework.jdbc.core.JdbcTemplate' because it is a JDK dynamic proxy that implements:
org.springframework.jdbc.core.JdbcOperations

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.

 

解决方法:在yml文件中加入

spring:
  aop:
    proxy-target-class: true

 

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

springboot CGLib 方式实现AOP代理问题 的相关文章

随机推荐

  • C++按行读/写txt文件

    将 hello 写入F test txt的第1行 include
  • 在ASP.NET中显示进度条

    在ASP NET中显示进度条 孟宪会之精彩世界 对于加载时间比较长的ASP NET页面 我们可以在客户端浏览器中显示进度条来显示页面正在装载 下面就是具体的实现过程 新建项目 名字为WebPortal 在项目类型中选择Visual C 项目
  • STM32单片机并口通信编程实例:代码详解与应用案例

    引言 单片机并口通信是一种传统而常用的通信方式 通过并行方式进行数据传输 尽管串口通信在现代应用中更加普遍 但并口通信在一些特定领域的应用仍然具有重要意义 本文将介绍单片机并口通信的原理 配置和实践方法 并给出STM32单片机的示例代码和详
  • 类属性、实例属性

    实例属性 对象属性 顾名思义 类属性就是类对象所拥有的属性 它被所有类对象的实例对象所共有 在内存中只存在一个副本 这个和C 中类的静态成员变量有点类似 对于公有的类属性 在类外可以通过类对象和实例对象访问 类属性 实例如下 class P
  • 根据字节大小分割字符串(java)

    public List
  • JAVA学习进程、线程

    1 进程 进程 是正在进行的程序 是系统进行资源分配和调用的独立单位 每一个进程都有它自己的内存空间和系统资源 2 线程 线程 是进程中的单个顺序控制流 是一条执行路径 分为 单线程和多线程 多线程的实现方式 设置和获取线程名称 线程的调度
  • t-SNE手写字识别案例

    参考链接 https scikit learn org stable auto examples manifold plot lle digits html sphx glr auto examples manifold plot lle
  • Unity C# 计算导弹抛物线弹道和转向

    在三维空间中 利用抛物线公式计算弹道 得到一个发射初速度 让导弹打击到指定地点效果 脚本使用 只需指定目标点即可可以通过Hight调整导弹的飞行高度可以通过Gravity调整导弹的飞行速度 通过以下两个脚本实现 工具脚本计算弹道 Missi
  • Docker部署ELK(配置密码登录)及Elastalert企业微信告警配置

    ELK部署记录 部署Elasticsearch Kibana Cerebro 通过docker进行部署 可以避免很多缺少依赖的问题 推荐使用centos7环境进行部署 请提前安装好docker服务 docker compose服务 先新建一
  • jquery two class

    This should work a b If you want an intersection just write the selectors together without spaces in between So for some
  • 基于Flume日志收集系统架构和设计(一)

    问题导读 1 Flume NG与Scribe对比 Flume NG的优势在什么地方 2 架构设计考虑需要考虑什么问题 3 Agent死机该如何解决 4 Collector死机是否会有影响 5 Flume NG可靠性 reliability
  • TCP flag注释

    三次握手Three way Handshake 一个虚拟连接的建立是通过三次握手来实现的 1 B gt SYN gt A 假如服务器A和客户机B通讯 当A要和B通信时 B首先向A发一个SYN Synchronize 标记的包 告诉A请求建立
  • 【Maven拉不到】Cannot resolve plugin org.apache.maven.plugins:maven-deploy-plugin:2.8.2

    问题 Cannot resolve plugin org apache maven plugins maven deploy plugin 2 8 2 与本地原来的有冲突或者是有多个版本的 解决办法 1 找到本地安装Maven的路径 2 找
  • Jenkins+Docker自动化部署Spring boot项目 (三)搭建jenkins

    Jenkins Docker自动化部署Spring boot项目 三 搭建jenkins 搭建jenkins jenkins我是通过下载镜像完成安装的 建议使用docker hub的镜像 它提供的版本比较新 一开始为了图快 我用了163镜像
  • Selenium进阶——解决web 自动化中上传文件的问题

    在做ui自动化测试中 经常会遇到上传文件或者图片的场景 通常的解决方案是自动化工具 autoIT 在这里我介绍一种 通过jdk自带api java awt Robot 来解决类似问题的方法 java awt Robot类主要用于模拟用户点击
  • Elasticsearch之利用bulk提高写入性能(含源码分析)

    什么是bulk操作 bulk是批量的意思 也就是把原来单个的操作打包好 通过批量的api提交到ES集群 下面是个示例 单个操作 PUT my index 000001 doc 1 timestamp 2099 11 15T13 12 00
  • 【原创】linux实时操作系统xenomai x86平台基准测试(benchmark)

    一 前言 benchmark 即基准测试 通常操作系统主要服务于应用程序 其运行也是需要一定cpu资源的 一般来说操作系统提供服务一定要快 否则会影响应用程序的运行效率 尤其是实时操作系统 所以本文针对操作系统来做一些基准测试 看看在低端x
  • jquery 访问手机摄像头_jquery.webcam.js实现调用摄像头拍照兼容各个浏览器

    jquery webcam js实现调用摄像头拍照兼容各个浏览器 1 demo 可直接复制使用 需要在环境里运行 2 所需 js 文件和 swf 控件可在官方博客下载 地址jQuery webcam js 拍照 倒计时 var w 320
  • C语言:编程实现输入n和n个数,判断其中哪个数连续出现的次数最多

    C语言 编程实现输入n和n个数 判断其中哪个数连续出现的次数最多 分析 代码 分析 需要设置的变量有 n 输入数字的个数 x 输入的数字 cur 当前输入的数 i 计数器 len 连续出现的次数 maxl 最大连续出现的次数 maxx 连续
  • springboot CGLib 方式实现AOP代理问题

    在Spring Boot中引入AOP就跟引入其他模块一样 非常简单 只需要在pom xml中加入如下依赖 dependency gt