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

舟山做网站营销网站策划方案

舟山做网站,营销网站策划方案,政府网站建设背景,湖北建设厅考试网站一、BeanFactoryPostProcessor和BeanPostProcessor BeanFactoryPostProcessor的作用是在实例化前修改BeanDefinition的属性 BeanPostProcessor的作用是在bean完成创建实例、填充属性之后,初始化阶段的前后都会对bean进行操作,使用postProcessBeforeIni…

一、BeanFactoryPostProcessor和BeanPostProcessor

BeanFactoryPostProcessor的作用是在实例化前修改BeanDefinition的属性

BeanPostProcessor的作用是在bean完成创建实例、填充属性之后,初始化阶段的前后都会对bean进行操作,使用postProcessBeforeInitialization和postProcessAfterInitialization。

BeanFactoryPostProcessor控制BeanDefinition流程:

  1. 自定义类实现BeanFactoryPostProcessor接口,实现postProcessBeanFactory方法
  2. 执行postProcessBeanFactory方法修改BeanDefinition

BeanPostProcessor知道初始化前后操作方法:

  1. 自定义类实现BeanPostProcessor,实现postProcessBeforeInitialization和postProcessAfterInitialization方法
  2. 将自定义BeanPostProcessor添加到beanFactory中(手动添加)
  3. 在初始化方法中,会先后(相对于初始化)遍历beanFactory的BeanPostProcessor,并调用before/after方法。

BeanFactoryPostProcessor逻辑
加载并读取文件 ----> 注册BeanDefinition ----> 自定义BeanFactoryPostProcessor并执行postProcessBeanFactory

BeanPostProcessor逻辑:
加载BeanDefinition ----> 自定义BeanPostProcessor并加入到beanFactory中 ----> 初始化方法中Spring扫描BeanPostProcessor集合,调用before/after方法

二、初始化和销毁

Bean的创建流程:

  1. 创建实例
  2. 填充属性
  3. 初始化
  4. 注册销毁方法(注册销毁方法的适配器,包含销毁方法,bean名称等)

初始化:
先判断Bean是否实现InitializingBean,如果实现则执行初始化方法。然后再遍历BeanDefinition中的初始化方法并通过反射执行。

销毁方法:
先判断Bean是否实现DisposableBean,再从存放销毁方法的集合中获取bean的销毁适配器,执行销毁方法。

三、Aware接口

Aware接口的作用是:

允许实现了接口的实例bean可以获取bean所在的beanfactory/applicationcontext等,进而使用其他服务(bean中需要增加beanfactory/applicationcontext属性)

BeanFactoryAware,在初始化前操作前,实例化后,判断bean是否实现接口,如果实现,则注入bean的beanfactory属性

BeanApplicationContextAware,在初始化前操作中注入属性。

四、Bean的作用域

Bean的作用域:

  1. 创建实例

  2. 填充属性

    (设置aware)

  3. 初始化前 初始化 初始化后

  4. 注册销毁方法

  5. 将bean注册到容器中

Bean的作用域:

  1. 单例singleton:如果是单例,则有4、5
  2. 如果是prototype(每次使用则则销毁):则没有4、5

也就是说:原型bean没有销毁方法,不会存入容器

五、FactoryBean

在获取bean的时候,如果该bean实现了FactoryBean接口,则调用getObject方法(可以将复杂的类转为自定义管理在容器中)

(sington直接获取并存入FactoryBean缓存中,下次从缓存中获取,prototype每次都调用getObject方法获取bean)

六、容器事件和事件监听

事件监听和容器事件:

  1. 在AbstractApplicationContext中先将事件监听器添加到事件发布者multicaster中

  2. 然后发布refresh容器刷新事件,(事件发布者发布事件,发布之后,遍历事件发布者中的监听器泛型是否是发布事件的类型,如果是就调用监听器中的方法)在这里插入图片描述

  3. 最后在AbstractApplicationContext中的doclose方法中发布关闭事件

http://www.dtcms.com/wzjs/464000.html

相关文章:

  • 微网站开发视频网页设计大作业
  • 微信小程序做直播网站服务网站推广方案
  • 论坛创建长沙弧度seo
  • 湖北企业网站建设哪家好宁波网站推广代运营
  • 直播网站开发计划书营销企业
  • dw做网站乱码合肥做网站的公司有哪些
  • jsp网站入门提高工作效率的重要性
  • 平地起建筑人才网seo是什么的简称
  • 如何开发公司的网站网络营销运营策划
  • 做网站和做软件哪个有发展企业网站关键词优化
  • 建筑公司网站需求seo软件哪个好
  • 武汉网站制作 费用网络推广怎么找客户资源
  • 美国打俄罗斯最新消息厦门seo排名扣费
  • 如何在家里做网站小红书网络营销策划方案
  • 怎样做企业手机网站建设营销推广方案
  • 做平台还是自己做网站推广网页
  • 手机软件用什么开发百度关键词优化公司哪家好
  • 评论给网站带来的益处营销网络营销
  • 专业的响应式网站建设湖南广告优化
  • 织梦cms可以做淘宝客网站么网络营销推广的5种方法
  • 网站策划师招聘盘多多网盘资源库
  • 太原网站建设服务北京网站快速优化排名
  • 淘宝做短视频网站新浪博客seo
  • 深圳哪家做网站优化营商环境的意义
  • 银川百度做网站多少钱长春网站建设策划方案
  • 网站前端和后端灰色广告投放平台
  • 网站建设开题报告论述软文营销案例分析
  • 今日最新招聘信息百度关键词优化公司
  • 湖北勘察设计协会网站外链链接平台
  • 网站建设与设计论文企业营销策划方案