当前位置: 首页 > news >正文

建设部证书查询网站西安网站建设盈科

建设部证书查询网站,西安网站建设盈科,网址管理系统,用html制作简单的购物网站目录 Spring 扩展点 #xff1a;PostProcess介绍PostProcess大纲文字明细使用方法示例Autowired 功能实现Resource 功能实现 后记 Spring 扩展点 #xff1a;PostProcess 介绍 Spring 核心做的事情其实很简单就是#xff1a;控制反转和依赖注入 也就是把 Class 解析为 Bea… 目录 Spring 扩展点 PostProcess介绍PostProcess大纲文字明细使用方法示例Autowired 功能实现Resource 功能实现 后记 Spring 扩展点 PostProcess 介绍 Spring 核心做的事情其实很简单就是控制反转和依赖注入 也就是把 Class 解析为 BeanDefinition 然后把 BeanDefinition 创建为 Bean 在这个过程中 Spring 提供了很多扩展点其中一个就是各种PostProcess 这篇文章就简单的分析一下各种PostProcess PostProcess 大纲 这里整理了一张汇总的大纲图 青色的是创建BeanDefinition 红色的是创建Bean 文字明细 1.BeanDefinitionRegistryPostProcessor #postProcessBeanDefinitionRegistry 添加beanDefinition到上下文 2.BeanFactoryPostProcessor #postProcessBeanFactory 处理beanFactory的属性或者使用beanFactory 3.InstantiationAwareBeanPostProcessor #postProcessBeforeInstantiation 实例化前给一个根据Class对象创建实例的机会 3.1.BeanPostProcessor #postProcessAfterInitialization 3执行了才会执行这个 初始化后调用返回原始实例的包装实例 4.SmartInstantiationAwareBeanPostProcessor #determineCandidateConstructors 实例化阶段确定实例化使用的构造函数 5.MergedBeanDefinitionPostProcessor #postProcessMergedBeanDefinition 实例化后、属性赋值前对Bean定义进行处理 可获取Bean定义的内容 如注解内容等 6.InstantiationAwareBeanPostProcessor #postProcessAfterInstantiation 属性赋值前自定义属性注入实现 任何一个返回false就不在进行默认的属性赋值 7.InstantiationAwareBeanPostProcessor #postProcessProperties 属性赋值前对属性进行处理 可以解析出用于注入的属性供后续统一设置 或者直接对实例的属性进行设置 8.BeanPostProcessor #postProcessBeforeInitialization 属性赋值后、初始化前对实例进行处理 如设置系统属性 9.BeanPostProcessor #postProcessAfterInitialization 初始化后调用返回原始实例的包装实例 10.DestructionAwareBeanPostProcessor #postProcessBeforeDestruction 销毁前作用于Bean实例 如执行PreDestroy的方法 使用方法 首先大家先看上面的大纲和明细掌握各种PostProcess的大致作用 然后分析一个 PostProcess 实现就可以先看一下其实现的接口 把接口所对应的方法都列出来排序 就大致知道功能是怎么样实现的 示例 Autowired 功能实现 我们可以用上面的方法来试着分析下 Autowired 功能实现类 AutowiredAnnotationBeanPostProcessor 我们先来看下其实现的接口 根据上边的明细和顺序列出 4.SmartInstantiationAwareBeanPostProcessor #determineCandidateConstructors 实例化阶段确定实例化使用的构造函数 实际的作用指定带有Autowired的构造器作为实例化的构造器 5.MergedBeanDefinitionPostProcessor #postProcessMergedBeanDefinition 实例化后、属性赋值前对Bean定义进行处理 可获取Bean定义的内容 如注解内容等 实际的作用 解析Bean带有Autowired的字段和方法 属性名、属性类型AutowiredFieldElement 方法名、方法参数类型AutowiredMethodElement 并存入缓存 injectionMetadataCache 7.InstantiationAwareBeanPostProcessor #postProcessProperties 属性赋值前对属性进行处理 可以解析出用于注入的属性供后续统一设置 或者直接对实例的属性进行设置 实际的作用 获取缓存 injectionMetadataCache 遍历后反射注入 Resource 功能实现 我们可以用上面的方法再来试着分析下 Resource 功能实现类 CommonAnnotationBeanPostProcessor 看一下其实现的接口 根据上边的明细和顺序列出 5.MergedBeanDefinitionPostProcessor #postProcessMergedBeanDefinition 实例化后、属性赋值前对Bean定义进行处理 可获取Bean定义的内容 如注解内容等 实际作用是 解析Bean带有Resource的字段和方法 属性名、属性类型ResourceElement 方法名、方法参数类型ResourceElement 并存入缓存 injectionMetadataCache 7.InstantiationAwareBeanPostProcessor #postProcessProperties 属性赋值前对属性进行处理 可以解析出用于注入的属性供后续统一设置 或者直接对实例的属性进行设置 实际作用是获取缓存 injectionMetadataCache 遍历后反射注入 10.DestructionAwareBeanPostProcessor #postProcessBeforeDestruction 销毁前作用于Bean实例 如执行PreDestroy方法 实际作用是Bean销毁时执行PreDestroy方法 后记 希望大家之后遇到相关的问题可以试着用这个方法来分析一下 有其他心得也欢迎大家多多交流 另外有一个上面看到的功能就是 InitDestroyAnnotationBeanPostProcessor 这个类大家可以试着分析下 可以把分析结果写在评论里一起学习
http://www.hkea.cn/news/14335689/

相关文章:

  • 南昌网站建设联系方式国家网站建设的相关规定
  • 加强门户网站建设 信息公开群辉 wordpress 端口号
  • 购买已备案网站做非法新开的网页游戏大全
  • 甘肃住房和城乡建设厅网站首页莱州网站建设青岛华夏商务网
  • 南通高端网站设计wordpress 插件制作
  • 制作一个网站都需要学什么网站建设电话邀约话术
  • 深圳网站建设 沙漠风大连手机网站建设
  • 唐山教育平台网站建设wordpress 访问页面
  • iis7如何部署网站打开一个网站搜索页面跳转js
  • 荆州做网站哪家好国内最好的效果图公司
  • 网站建设与维护实验报告婚庆公司简介
  • 接网站建设外包的工作总结铭品装饰公司
  • 石家庄外贸网站建设公司排名万网域名续费查询
  • 旅游网站建设目标重庆在建工程信息查询
  • 做专业慢摇的网站网站这么设置微信支付
  • 手机网站app生成简历模板免费下载网站
  • 建设 信用中国 网站WordPress 全局Ajax
  • 深圳p2p网站建设qq刷网站空间
  • 国家城乡建设部网站做网站要学点什么
  • 房屋设计网站有哪些床上爱做网站
  • 黑色炫酷灯饰照明科技企业商务网站模板做外贸网站卖什么好处
  • 专业seo优化费用江门seo哪家专业
  • 自己建服务类收费网站要多少钱wordpress修改ftp
  • 网站越来越难做网页设计兼职收费标准
  • 网站设计公司网站专业wordpress主题 医疗
  • 沈阳建站沈阳网站建设q479185700惠
  • 网站推广与优化方案商标 做网站 是几类
  • 黄冈网站建设流程广告公司有什么业务
  • 滁州市大滁城建设网站设计师网民
  • 渭南市住房和城乡建设局官方网站org域名怎么注册