场景:

spring aop使用过程遇到的异常信息的解决过程记录


问题描述

问题代码如下:

@Configuration
public class LogConfig {@Beanpublic JdkRegexpMethodPointcut jdkRegexpMethodPointcut() {JdkRegexpMethodPointcut pointcut = new JdkRegexpMethodPointcut();pointcut.setPattern("org.example.dao.*");return pointcut;}@Beanpublic LogAdvice logAdvice() {return new LogAdvice();}@Beanpublic DefaultPointcutAdvisor pointcutAdvisor() {DefaultPointcutAdvisor pointcutAdvisor = new DefaultPointcutAdvisor(jdkRegexpMethodPointcut(), logAdvice());return pointcutAdvisor;}@Beanpublic BeanNameAutoProxyCreator autoProxyCreator() {BeanNameAutoProxyCreator beanNameAutoProxyCreator = new BeanNameAutoProxyCreator();beanNameAutoProxyCreator.setBeanNames("*");beanNameAutoProxyCreator.setInterceptorNames("pointcutAdvisor");return beanNameAutoProxyCreator;}
}

异常日志信息:

org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker postProcessAfterInitialization
信息: Bean 'logConfig' of type [org.example.aop.LogConfig$$EnhancerBySpringCGLIB$$942bab5f] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)

原因分析:

PostProcessor依赖bean。bean的创建过程不受PostProcessor影响。spring检测到后打印该日志。


解决方案:

将PostProcessor作为一个独立的类并使用@Component注解注册为bean。

代码如下:

// MyAutoProxyCreator.java
@Component
public class MyAutoProxyCreator extends BeanNameAutoProxyCreator {@PostConstructprivate void init() {super.setBeanNames("*");super.setInterceptorNames("pointcutAdvisor");}
}// LogConfig.java
@Configuration
public class LogConfig {@Beanpublic JdkRegexpMethodPointcut jdkRegexpMethodPointcut() {JdkRegexpMethodPointcut pointcut = new JdkRegexpMethodPointcut();pointcut.setPattern("org.example.dao.*");return pointcut;}@Beanpublic LogAdvice logAdvice() {return new LogAdvice();}@Beanpublic DefaultPointcutAdvisor pointcutAdvisor() {DefaultPointcutAdvisor pointcutAdvisor = new DefaultPointcutAdvisor(jdkRegexpMethodPointcut(), logAdvice());return pointcutAdvisor;}
}

问题记录:is not eligible for getting processed by all BeanPostProcessors相关推荐

  1. Shiro--解决is not eligible for getting processed by all BeanPostProcessors

    原文网址:Shiro--解决is not eligible for getting processed by all BeanPostProcessors_IT利刃出鞘的博客-CSDN博客 简介 说明 ...

  2. Bean X of type X is not eligible for getting processed by all BeanPostProcessors

    工程启动报错 我这个报错是用为数据库连接报2013错误,以下记录报错与思路. 报错: 2020-06-15 09:35:59.786 [TID: N/A] INFO 10148 --- [ main] ...

  3. SpringBoot项目启动失败: is not eligible for getting processed by all BeanPostProcessors (for example: not)

    SpringBoot项目启动失败报错: ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$f4a94db ...

  4. 提示BeanPostProcessorChecker:is not eligible for getting processed by all BeanPostProcessors的原因

    今天有读者朋友反馈在调试本书15章的源码时出现"BeanPostProcessorChecker:xxx is not eligible for getting processed by a ...

  5. is not eligible for getting processed by all BeanPostProcessors 导致找不到路径报404

    今天复制一个相同的项目,在这个项目的基础上重新修改后, 启动一切正常: 但是用postman连接时,一直报404: 在打开其他项目尝试连接后,发现并不是server配置的问题,然后我仔细看日志,发现: ...

  6. 排查not eligible for getting processed by all BeanPostProcessors

    前言 上一篇文章我们聊了一下自定义实现的SPI如何与spring进行整合,但其实在实现的过程中有个小细节,就是原先我们的SPI是带了拦截器功能,(ps:对如何实现一个带拦截器的SPI感兴趣的朋友,可以 ...

  7. 解决:is not eligible for getting processed by all BeanPostProcessors

    文章目录 问题描述 分析 总结 解决 方案1:延迟初始化 方案2:@Role(BeanDefinition.ROLE_INFRASTRUCTURE) 参考 问题描述 SpringBoot项目整合Shi ...

  8. 死磕源码系列【springboot项目打印is not eligible for getting processed by all BeanPostProcessors (for example: n

    标题上打印的日志是info级别的,不影响程序正常使用,但是有代码洁癖的我还是看着不爽,总想找出问题所在,查了很久知道了是IOC容器注册Bean的时候使用到了还未注册到IOC容器中的Bean,也就是某一 ...

  9. is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for

    springboot项目创建常见问题(持续更新!) https://blog.csdn.net/libusi001/article/details/97267365 Bean 'org.springf ...

最新文章

  1. python文件安全传输系统_安全的directconnect文件传输程序
  2. 做一个完整的Java Web项目太难了,因为这些你不会!
  3. 【WEB安全】In0ri:基于深度学习的网站内容污染检测系统
  4. SSH(Struts2+Hibernate+Spring)开发策略
  5. spring environment_程序员:Spring项目中简单几步实现多个动态数据源切换
  6. Javascript 正则表达式对象
  7. CCF 201503-2 数字排序
  8. JAVA-1011. A+B和C (15)
  9. struts2+json(3)
  10. 【Linux】【secureCRT】下载,安装,激活攻略
  11. 关于数组增减Array 和list的区别
  12. HGO工具CoordTool坐标七参数转换
  13. 循序渐进!疯狂java讲义第五版pdf蓝奏云下载
  14. 【20211005】Praat 基本用法
  15. 标量、矩阵对向量求导
  16. segmentation_models.pytorch实战:使用segmentation_models.pytorch图像分割框架实现对人物的抠图
  17. 再传捷报!人大金仓获2022年中国信创产业拳头奖“最佳数据库品牌”大奖
  18. 【spring-boot】Could not find result map ‘com.springboot.cib_hk.bean.Users‘ referenced from ‘co...
  19. go-micro教程
  20. 光场相机重聚焦--焦点堆栈深度估计法

热门文章

  1. vue项目中使用trackingjs人脸识别
  2. linux检查网络命令总结
  3. 一文彻底了解SSD1306驱动0.96寸OLED
  4. 表弟准备买房,让我帮他分析分析哪个小区最合适,我直接用python下载了本地所有房源信息做成了可视化图
  5. 计算机网络基础 IP头部报文;IP的分片;
  6. [附源码]Java计算机毕业设计SSM高校智慧党建党务管理系统
  7. 大华视频会议系统服务器配置,浙江大华视频会议解决方案-v-20210727005844.pdf-原创力文档...
  8. Excel中按颜色求和,一键完成。可以按背景色求和也可以按条件格式颜色求和
  9. NVT SDK 67X获取文件时长的一种方式
  10. 程序员的四境界、七宗罪与七武器 [转载]