实现BeanPostProcessor需要overRide两个方法,一个是postProcessBeforeInitialization,一个是postProcessAfterInitialization。
他们两个是什么作用百度有说,before是在bean初始化前会执行的方法,after是bean初始化后会执行的方法,无论你写了什么业务代码,结构代码,最最最最重要的是要return bean,把传进来的bean再给回去,切忌不能return null。
原因如下:
拿定时任务举例,最简单的写定时任务的方法就是在方法上加一个定时任务的注解,这个定时任务之所以能定时跑,就是在初始化bean完成后,spring有一个扫描全类,把带定时任务注解的方法放进容器,再由spring底层的什么东西去扫他再定时跑。
当你在实现BeanPostProcessor的类里重新after方法却返回 null,就会打断扫描,直接把bean返回,这样写出来的定时任务类不是一个真的定时任务,只是一个能调用里面方法的bean,并且程序不会报错,基本上所有代码也都能正常跑,但你的定时任务就是死活不会调度。

一次使用BeanPostProcessor疏漏引起的重大bug相关推荐

  1. 百度云盘为什么空间那么大

    百度云盘为什么空间那么大 一.总结 一句话总结:1.竞争结果.2.'bug'营销.3.相同资源存一份.4.限速. 二.为什么百度给免费用户的云空间高达2T,而小米苹果等公司的免费云空间只有5G? 1. ...

  2. Spring BeanDefinitionRegistryPostProcessor BeanPostProcessor作用

    写博客,写博客,把自己知道的小知识点全部记录,? BeanDefinitionRegistryPostProcessor 接口属于Beanddefination  装配定义的范畴,此时bean 并没有 ...

  3. 他智商167,超过爱因斯坦,花17年炸遍美国高校,却因一疏漏被捕

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 在人类文明的历史上,诞生过很多惊艳的天才,只是让人感觉有些遗憾的是, ...

  4. spring中的BeanPostProcessor

    1.类结构 BeanPostProcessor:允许自定义修改bean实例的工厂钩子 InstantiationAwareBeanPostProcessor:BeanPostProcessor的子接口 ...

  5. BeanPostProcessor —— 连接Spring IOC和AOP的桥梁

    之前都是从大Boss的视角,来介绍Spring,比如IOC.AOP. 今天换个视角,从一个小喽啰出发,来加深对Spring的理解. 这个小喽啰就是, BeanPostProcessor (下面简称 B ...

  6. Spring中的BeanPostProcessor接口

    由方法名字也可以看出,前者在实例化及依赖注入完成后.在任何初始化代码(比如配置文件中的init-method)调用之前调用:后者在初始化代码调用之后调用. 注意: 1.接口中的两个方法都要将传入的be ...

  7. beanpostprocessor使用场景_Spring因动态代理使用不注意导致的诡异现象

    关注"Java艺术"一起来充电吧! 笔者在新的定时任务项目中,限定一个类只能写一个Job,类似于写脚本,一个Job一个脚本.对于简单的任务我们并不约定一定要有Service层,但在 ...

  8. spring 源码分析之BeanPostProcessor

    1.官方解答: Factory hook that allows for custom modification of new bean instances, e.g. checking for ma ...

  9. 【Spring注解系列11】Spring后置处理器BeanPostProcessor用法与原理

    1.BeanPostProcessor原理 先说,bean的后置处理器BeanPostProcessor接口中两个方法: postProcessBeforeInitialization:在初始化之前工 ...

  10. spring BeanPostProcessor,BeanFactoryPostProcessor作用

    一.BeanPostProcessor 主要用来对已经实例化的BEAN进行再次处理和修改,返回新定义的对象. 1.例如当CONTROLLER使用@RESOURCE注入SERVICE对象时,SPRING ...

最新文章

  1. hive 写入mysql 覆盖_替换Hive的元数据库derby
  2. 谷歌警告:安卓再现高危漏洞 华为小米等可能被黑客完全控制
  3. 动态规划-KMP字符匹配算法
  4. TinyMCE 5 正式版发布,重磅更新!!!
  5. HID接口设备-硬件要求
  6. matplotlib散点图笔记
  7. y电容如何选型_开关电源中电容如何快速选型
  8. 37 岁学编程,发现第一个 Bug,创造商业编程语言 | 人物志
  9. 让代码在SharePoint页面执行如何在aspx页面中写代码
  10. FireEye实验室在一次水坑式攻击中发现IE 0DAY
  11. AUTOCAD——超级填充
  12. Java设计模式(二)回调模式
  13. Ubuntu 访问共享文件夹
  14. js柯里化的认识(本文转载自https://www.zhangxinxu.com/wordpress/2013/02/js-currying),觉得很有用就记下了
  15. ASP.NET Core 中文文档 第四章 MVC(3.7 )局部视图(partial)
  16. 如何用csdn上传资源
  17. 学习UI设计,哪些软件是必学的
  18. 软件工程专业画图工具Jude的安装与Windows找不到javaw文件的解决办法
  19. 视觉slam14讲学习(一)之se3上的定位表示:轨迹显示与轨迹误差
  20. Flutter下MVVM——Bloc的探索

热门文章

  1. 【Android】AsyncTask机制
  2. acm常见错误-持续更新
  3. 《云阅》一个仿网易云音乐UI,使用Gank.Io及豆瓣Api开发的开源项目
  4. MVC 添加Area
  5. windows phone (24) Canvas元素A
  6. Shell脚本 条件
  7. zabbix详解(十四)——zabbix钉钉报警实战
  8. puppet详解(三)——file资源详解
  9. Leetcode 刷题笔记(二十三) ——动态规划篇之基础题目
  10. mysql查询优化~group by知多少