Spring的bean后处理器和容器后处理器
来源:互联网 发布:源码资本投资的项目 编辑:程序博客网 时间:2024/05/18 09:47
目录(?)[-]
- Spring后处理器的作用
- Bean后处理器即当Spring容器实例化Bean实例之后进行的增强处理
- 容器后处理器对容器本身进行处理并总是在容器实例化其他任何Bean之前读取配置文件的元数据并可能修改这些数据
- 通过使用后处理器可以模拟Spring的AOP切面编程
- bean后处理器BeanPostProcessor
- BeanPostProcessor后处理器的使用
- 后处理器的使用实例
- 通过结果可以看出后处理器-bean自身定义的方法-bean调用的方法
- 多个后处理器的结合使用
- 当需要定义多个后处理器时在xml配置所有的后处理器之后还需要指定他们的执行顺序
- 通过实现Ordered接口并重写getOrder属性就可以来指定它们的执行顺序了order的值越小越先执行
- 容器后处理器
- 容器后处理器实现的是BeanFactoryPostProcessor接口其余的和bean后处理器的相关类似
- 容器后处理器使用实例
- 文档参考
- Spring中BeanPostProcessors1简单预处理
- Spring Bean 后置处理器
- Spring Bean后处理器以及容器后处理器
Spring后处理器的作用
Bean后处理器:即当Spring容器实例化Bean实例之后进行的增强处理。
容器后处理器:对容器本身进行处理,并总是在容器实例化其他任何Bean之前读取配置文件的元数据并可能修改这些数据。
通过使用后处理器,可以模拟Spring的AOP切面编程
bean后处理器:BeanPostProcessor
BeanPostProcessor 接口定义回调方法,你可以实现该方法来提供自己的实例化逻辑,依赖解析逻辑等。你也可以在 Spring 容器通过插入一个或多个 BeanPostProcessor 的实现来完成实例化,配置和初始化一个bean之后实现一些自定义逻辑回调方法。
有时希望在spring IoC容器初始化受管Bean前、属性设置后对该Bean先做一些预处理,或者在容器销毁受管Bean之前自己释放资源。Spring IoC提供了BeanPostProcessor接口用于实现该操作
若这个接口的某个实现类被注册到某个容器,那么该容器的每个受管Bean在调用初始化方法前,都会获得该接口实现类的一个回调。容器调用接口定义的方法时会将该受管Bean的实例和名字通过参数传入方法,经过处理后通过方法的返回值返回给容器。根据这个原理就可以很轻松的自定义受管Bean
BeanPostProcessor后处理器的使用
要使用BeanPostProcessor回调,就必须先在容器中注册实现该接口的类。BeanFactory和ApplicationContext容器的注册方式是不一样的:若使用BeanFactory,则必须要显示的调用其addBeanPostProcessor()方法进行注册。若使用ApplicationContext,那么容器会在配置文件在中自动寻找实现了BeanPostProcessor接口的Bean,然后自动注册。
后处理器的使用实例
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
通过结果可以看出:后处理器->bean自身定义的方法->bean调用的方法
多个后处理器的结合使用
当需要定义多个后处理器时,在xml配置所有的后处理器之后,还需要指定他们的执行顺序
通过实现Ordered接口并重写getOrder()属性就可以来指定它们的执行顺序了。order的值越小,越先执行
容器后处理器
容器后处理器实现的是BeanFactoryPostProcessor接口,其余的和bean后处理器的相关类似
容器后处理器使用实例
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
文档参考
Spring中BeanPostProcessors【1】简单预处理
Spring Bean 后置处理器
Spring Bean后处理器以及容器后处理器
阅读全文
0 0
- Spring的bean后处理器和容器后处理器
- Spring的bean后处理器和容器后处理器
- 七、Spring Bean后处理器以及容器后处理器
- Spring Bean后处理器以及容器后处理器
- Spring的配置依赖 协调不同步的Bean Bean的后处理器 容器的后处理器
- Spring的容器后处理器
- Spring学习记录—容器后处理器和Bean后处理器
- Spring Bean后处理器
- Spring提供的后容器处理器
- spring容器中bean的作用域bean的后处理器
- bean 的生命周期和后处理器
- Spring--IoC--Bean的装配--Bean后处理器
- Bean后处理器
- Bean 后处理器
- Spring笔记——Bean后处理器
- Spring BeanFactoryPostProcessor Bean后处理器 执行时机
- Spring Bean的自动装配,注入及后处理器
- Spring BeanFactoryPostProcessor容器后处理器执行时机
- 算法导论 学习笔记 第一章
- 软件测试中的冲突测试
- angularJS <input type="file> 图片的base64编码
- 【牛腩新闻发布系统】——母版页与web控件
- 如何将linux英文版系统转换为中文版系统
- Spring的bean后处理器和容器后处理器
- c++中string 的实现
- 顺序表应用3:元素位置互换之移位算法
- 神经网络/多层感知器(MLP)架构:选择隐藏层数量和大小的标准
- Markdown文档中尝试添加iframe 香港科技大学的一个3D网站
- iOS wkwebview 弹出键盘
- 过了科目二!
- 百练_3258:兔子产子
- IOS 关于取消延迟执行函数的种种。performSelector与cancelPreviousPerformRequestsWithTarget