文档章节

ConfigurableWebApplicationContext 类图及BeanFactory

rockingMan
 rockingMan
发布于 2017/09/13 16:00
字数 476
阅读 15
收藏 0

ConfigurableWebApplicationContext 类图

BeanFactory

访问bean容器的根接口。此接口的实现类保存多个 bean 定义,每个bean 定义有名称唯一标识。根据bean定义,工厂将返回一个独立的包含对象(Prototype设计模式)的实例,或者返回一个单一的共享实例(一个单一的设计模式是一个更好的替代方案,其中实例在工厂的scope中是单例的)。将返回哪种类型的实例取决于bean工厂配置:API是一样的。自Spring 2.0起,根据具体的应用环境(例如Web环境中的“请求”和“会话”)范围,可以使用其他范围。这个方法的要点是BeanFactory是应用程序组件的中央注册表,并集中了应用程序组件的配置(例如,单个对象不需要读取属性文件)。 Bean Factory实现应尽可能地支持标准的bean生命周期接口。 全套初始化方法及其标准顺序为:

  • BeanNameAware's setBeanName(唯一标识感知)
  • BeanClassLoaderAware's setBeanClassLoader(设置类加载器感知)
  • BeanFactoryAware's setBeanFactory BeanFactory感知
  • EnvironmentAware's setEnvironment 环境感知(dev test prod etc.)
  • EmbeddedValueResolverAware's setEmbeddedValueResolver (嵌入的值解析器感知)
  • ResourceLoaderAware's setResourceLoader (only applicable when running in an application context) 资源加载器感知
  • ApplicationEventPublisherAware's setApplicationEventPublisher (only applicable when running in an application context) 应用事件发布者感知
  • MessageSourceAware's setMessageSource (only applicable when running in an application context) 消息资源感知
  • ApplicationContextAware's setApplicationContext (only applicable when running in an application context) 应用上下文感知
  • ServletContextAware's setServletContext (only applicable when running in a web application context) ServletContext感知
  • postProcessBeforeInitialization methods of BeanPostProcessors bean初始化前置处理
  • InitializingBean's afterPropertiesSet bean初始化属性设置后处理
  • a custom init-method definition <bean init-method="xxx"/> 调用xxx方法
  • postProcessAfterInitialization methods of BeanPostProcessors bean初始化后处理

在关闭bean工厂时,应用以下生命周期方法:

  • postProcessBeforeDestruction methods of DestructionAwareBeanPostProcessors 析构感知bean后置处理器
  • DisposableBean's destroy DisposableBean的 destroy()方法
  • a custom destroy-method definition <bean destroy-method="xxx"/> 调用xxx方法

© 著作权归作者所有

上一篇: Aware 接口
下一篇: Java类命名 小记
rockingMan
粉丝 11
博文 15
码字总数 3347
作品 0
合肥
后端工程师
私信 提问
【Spring源码分析系列】ApplicationContext 相关接口架构分析

在使用Spring的时候,我们经常需要先得到一个ApplicationContext对象,然后从该对象中获取我们配置的Bean对象。ApplicationContext隶属于org.springframework.context,是SpringFramework中B...

群星纪元
04/28
5
0
Spring代码分析一:加载与初始化

一般的Web项目都会在web.xml中加入Spring监听器,内容如下: <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-p......

卡布不卡
2013/07/24
2.5K
1
spring源码读书笔记(1)

如果我们在web项目里面使用spring的话,通常会在web.xml里面配置一个listener. <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </l......

不死鸟哇
2014/04/07
778
0
spring boot源码分析之springmvc(上)

相对于spring boot我们使用spring mvc更加频繁和熟悉。sprint boot具有spring mvc的功能,两者之间到底存在着什么样的关系,通过下面的篇幅我们一起来分析。 我们再回顾下spring mvc的配置,...

帅帅的波
2017/09/09
0
0
在web.xml 配置spring(ContextLoaderListener)

一、在web.xml配置Spring的applicationContext .xml和监听器ContextLoaderListener <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationCo......

LYQ1990
2016/05/23
67
0

没有更多内容

加载失败,请刷新页面

加载更多

作为一个(IT)程序员!聊天没有话题?试试这十二种技巧

首先呢?我是一名程序员,经常性和同事没话题。 因为每天都会有自己的任务要做,程序员对于其他行业来说;是相对来说比较忙的。你会经常看到程序员在发呆、调试密密麻麻代码、红色报错发呆;...

小英子wep
今天
14
0
【SpringBoot】产生背景及简介

一、SpringBoot介绍 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不再需要...

zw965
今天
5
0
简述并发编程分为三个核心问题:分工、同步、互斥。

总的来说,并发编程可以总结为三个核心问题:分工、同步、互斥。 所谓分工指的是如何高效地拆解任务并分配给线程,而同步指的是线程之间如何协作,互斥则是保证同一时刻只允许一个线程访问共...

dust8080
今天
6
0
OSChina 周四乱弹 —— 当你简历注水但还是找到了工作

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌 :#今日歌曲推荐# 分享成龙的单曲《男儿当自强》。 《男儿当自强》- 成龙 手机党少年们想听歌,请使劲儿戳(这里) @hxg2016 :刚在...

小小编辑
今天
3.3K
22
靠写代码赚钱的一些门路

作者 @mezod 译者 @josephchang10 如今,通过自己的代码去赚钱变得越来越简单,不过对很多人来说依然还是很难,因为他们不知道有哪些门路。 今天给大家分享一个精彩的 GitHub 库,这个库整理...

高级农民工
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部