ConfigurableWebApplicationContext 类图及BeanFactory

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方法

转载于:https://my.oschina.net/u/732556/blog/1536813

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值