BeanPostProcessor概念导入及简介

学校小故事

为了了解spring流程,需要接受、了解、熟悉很多未知的定义,在此使用 学校 作为辅助,帮助我们了解spring。

学校spring
学校管理局spring开发人员
学校信息ApplicationContext
学校人员信息库DefaultListableBeanFactory
人员bean
人员信息BeanDefinition
校清洁代理公司cglib
代理公司资质BeanPostProcessor
代理公司IInstantiationAwareBeanPostProcessor
代理公司ISSmartInstantiationAwareBeanPostProcessor
代理公司MMergedBeanDefinitionPostProcessor
代理公司DDestructionAwareBeanPostProcessor

bean的创建过程

名词解释 + 概念引入

代理公司

学校中有了校长、老师、学生,可以完成最基础的教学功能。但除了教学功能外,日常打扫卫生,教师信息管理,学生信息管理…这些事情也需要有人完成,校长、老师、学生无法完美完成这些任务,因为他们本身不是做这些工作的。因此这些额外的工作需要第三方公司完成,即代理公司。

代理公司资质

学校不可能接入所有的代理公司,学校只会和 有符合条件的代理公司 合作。此处的符合条件即为 代理公司资质。

代理公司分类

所有具备代理公司资质的 代理公司,也需要分类:代理公司I、代理公司IS、代理公司M、代理公司D。
举例:擅长打扫操场卫生的代理公司 应当被分配去 打扫操场卫生,不应该分配到 管理教师,这属于 驴头配不上马嘴。需要按劳分配。

小结

概念引入中的小故事就是spring中创建bean流程,不过缺少了亿丢丢细节。

BeanPostProcessor

接口中声明 初始化前、后两个方法。

InstantiationAwareBeanPostProcessor

接口中声明 实例化前、后 + bean属性增强方法

SmartInstantiationAwareBeanPostProcessor

接口中声明 猜测bean类型、确认beanName的构造方法、获取提前暴露的实例化bean方法

MergedBeanDefinitionPostProcessor

接口中声明 指定BeanDefinition信息增强、指定bean的定义信息重置<后续处理器清除影响bean的元数据>方法

DestructionAwareBeanPostProcessor

接口中声明 bean销毁前执行方法、检查当前bean是否应该被销毁 方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值