一次使用BeanPostProcessor疏漏引起的重大bug
实现BeanPostProcessor需要overRide两个方法,一个是postProcessBeforeInitialization,一个是postProcessAfterInitialization。
他们两个是什么作用百度有说,before是在bean初始化前会执行的方法,after是bean初始化后会执行的方法,无论你写了什么业务代码,结构代码,最最最最重要的是要return bean,把传进来的bean再给回去,切忌不能return null。
原因如下:
拿定时任务举例,最简单的写定时任务的方法就是在方法上加一个定时任务的注解,这个定时任务之所以能定时跑,就是在初始化bean完成后,spring有一个扫描全类,把带定时任务注解的方法放进容器,再由spring底层的什么东西去扫他再定时跑。
当你在实现BeanPostProcessor的类里重新after方法却返回 null,就会打断扫描,直接把bean返回,这样写出来的定时任务类不是一个真的定时任务,只是一个能调用里面方法的bean,并且程序不会报错,基本上所有代码也都能正常跑,但你的定时任务就是死活不会调度。
一次使用BeanPostProcessor疏漏引起的重大bug相关推荐
- 百度云盘为什么空间那么大
百度云盘为什么空间那么大 一.总结 一句话总结:1.竞争结果.2.'bug'营销.3.相同资源存一份.4.限速. 二.为什么百度给免费用户的云空间高达2T,而小米苹果等公司的免费云空间只有5G? 1. ...
- Spring BeanDefinitionRegistryPostProcessor BeanPostProcessor作用
写博客,写博客,把自己知道的小知识点全部记录,? BeanDefinitionRegistryPostProcessor 接口属于Beanddefination 装配定义的范畴,此时bean 并没有 ...
- 他智商167,超过爱因斯坦,花17年炸遍美国高校,却因一疏漏被捕
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 在人类文明的历史上,诞生过很多惊艳的天才,只是让人感觉有些遗憾的是, ...
- spring中的BeanPostProcessor
1.类结构 BeanPostProcessor:允许自定义修改bean实例的工厂钩子 InstantiationAwareBeanPostProcessor:BeanPostProcessor的子接口 ...
- BeanPostProcessor —— 连接Spring IOC和AOP的桥梁
之前都是从大Boss的视角,来介绍Spring,比如IOC.AOP. 今天换个视角,从一个小喽啰出发,来加深对Spring的理解. 这个小喽啰就是, BeanPostProcessor (下面简称 B ...
- Spring中的BeanPostProcessor接口
由方法名字也可以看出,前者在实例化及依赖注入完成后.在任何初始化代码(比如配置文件中的init-method)调用之前调用:后者在初始化代码调用之后调用. 注意: 1.接口中的两个方法都要将传入的be ...
- beanpostprocessor使用场景_Spring因动态代理使用不注意导致的诡异现象
关注"Java艺术"一起来充电吧! 笔者在新的定时任务项目中,限定一个类只能写一个Job,类似于写脚本,一个Job一个脚本.对于简单的任务我们并不约定一定要有Service层,但在 ...
- spring 源码分析之BeanPostProcessor
1.官方解答: Factory hook that allows for custom modification of new bean instances, e.g. checking for ma ...
- 【Spring注解系列11】Spring后置处理器BeanPostProcessor用法与原理
1.BeanPostProcessor原理 先说,bean的后置处理器BeanPostProcessor接口中两个方法: postProcessBeforeInitialization:在初始化之前工 ...
- spring BeanPostProcessor,BeanFactoryPostProcessor作用
一.BeanPostProcessor 主要用来对已经实例化的BEAN进行再次处理和修改,返回新定义的对象. 1.例如当CONTROLLER使用@RESOURCE注入SERVICE对象时,SPRING ...
最新文章
- hive 写入mysql 覆盖_替换Hive的元数据库derby
- 谷歌警告:安卓再现高危漏洞 华为小米等可能被黑客完全控制
- 动态规划-KMP字符匹配算法
- TinyMCE 5 正式版发布,重磅更新!!!
- HID接口设备-硬件要求
- matplotlib散点图笔记
- y电容如何选型_开关电源中电容如何快速选型
- 37 岁学编程,发现第一个 Bug,创造商业编程语言 | 人物志
- 让代码在SharePoint页面执行如何在aspx页面中写代码
- FireEye实验室在一次水坑式攻击中发现IE 0DAY
- AUTOCAD——超级填充
- Java设计模式(二)回调模式
- Ubuntu 访问共享文件夹
- js柯里化的认识(本文转载自https://www.zhangxinxu.com/wordpress/2013/02/js-currying),觉得很有用就记下了
- ASP.NET Core 中文文档 第四章 MVC(3.7 )局部视图(partial)
- 如何用csdn上传资源
- 学习UI设计,哪些软件是必学的
- 软件工程专业画图工具Jude的安装与Windows找不到javaw文件的解决办法
- 视觉slam14讲学习(一)之se3上的定位表示:轨迹显示与轨迹误差
- Flutter下MVVM——Bloc的探索