bean的作用域

1.singleton,prototype, web环境下:request,session,gloab session

2.通过scope="" 来进行配置

3.对于singleton  spring容器只会创建一个共享实例,prototype则会创建不同的实例

bean的生命周期(bean自身的方法,bean级生命周期接口方法,容器级生命周期接口方法)

分为BeanFactory的生命周期和ApplicationContext的生命周期

1、对于BeanFactory

1、当通过getBean调用某一个bean的时候,首先看容器是否注册(不是bean实现接口,属于容器级生命周期方法)了InstantiationAwareBeanPostProcessor接口,如果注册了,将会调用postProcessBeforeInstantiation()方法。

2、然后实例化bean

3、调用InstantiationAwareBeanPostProcessor接口的postProcessAfterInstantiation()方法

4、设置属性,调用setter()

5、调用BeanNameAware的setBeanName()方法

6、调用BeanFactoryAware中的setBeanFactory()方法

7、调用InstantiationAwareBeanPostProcessor接口的postProcessBeforeInitialization()方法

8、 如果容器注册了BeanPostProcessor接口,调用该接口的postProcessBeforeInitialization()方法

9、调用InitializingBean接口的afterPropertiesSet()方法

10、调用init-method属性配置的方法

11、调用InstantiationAwareBeanPostProcessor接口的postProcessAfterInitialization()方法

12、调用BeanPostProcessor接口的postProcessAfterInitialization()方法

13、如果bean是单例的则把bean实例存入缓冲池由Spring容器继续关系bean的生命周期,否则交由该bean的调用则管理

14、调用DisposableBean接口的方法

15、通过destory-method属性配置的方法

要往ioc容器手动添加BeanPostProcessor的实现类  (ConfigurableBeanFactory)bf.addBeanPostProcessor(new MyBeanPostProcessor());

ApplicationContext中bean的生命周期和BeanFactoty的基本相同,在BeanFactoryAware接口后增加了一个 ApplicationContextAware接口的setApplicationContext()方法。

最新文章

  1. LeetCode:Merge k Sorted Lists
  2. android: 内容提供器简介
  3. No modifications are allowed to a locked ParameterMap
  4. Chapter 6 - How to Play Music and Sound Effect
  5. Shell中的正则表达式及字符串处理
  6. BZOJ 1800 fly-飞行棋
  7. [ An Ac a Day ^_^ ] hdu 4565 数学推导+矩阵快速幂
  8. iOS 属性之assign、copy、retain
  9. android RecycleView Adapter简单封装
  10. 关于Java8:StreamAPI的一点记录
  11. 开源深度学习架构Caffe
  12. FineUI经典项目展示(2)基础管理系统(附在线演示)
  13. 如何在集合中巧用Where来查找相关元素
  14. name设置id的方式 解决多个单选域冲突现象 同时有利于从动态网页取值
  15. 洛谷CF868F Yet Another Minimization Problem(动态规划,决策单调性,分治)
  16. PixelRatio使用
  17. Mysql 性能优化7【重要】sql语句的优化 浅谈MySQL中优化sql语句查询常用的30种方法(转)
  18. 《算法》第四章部分程序 part 10
  19. ASCII码翻译方法可直接使用谷歌
  20. Java 笔记——在 IDEA 中使用 Maven 配置和使用 MyBatis

热门文章

  1. Python应用科学计算和图表绘制
  2. mysql 复制表结构、表数据的方法
  3. VS2008下,aspx页面设计模式消失,只有黑白字体
  4. VLAN终结及三层子接口
  5. Spark的数据存储
  6. EUI Scroller实现图片轮播 组件 ItemScroller
  7. 机器学习系列------1. GBDT算法的原理
  8. Xcode 7.2.1 下载地址
  9. ---bind 配置
  10. pascal闪电入门系列目录