SpringBean的作用域

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一Bean的作用域基础概念

当在 Spring 中定义一个 bean 时你必须声明该 bean 的作用域的选项。例如为了强制 Spring 在每次需要时都产生一个新的 bean 实例你应该声明 bean 的作用域的属性为 prototype。同理如果你想让 Spring 在每次需要时都返回同一个bean实例你应该声明 bean 的作用域的属性为 singleton。

二、Bean的生命周期

Bean实例生命周期的执行过程如下

  • Spring对bean进行实例化默认bean是单例

  • Spring对bean进行依赖注入

  • 如果bean实现了BeanNameAware接口spring将bean的id传给setBeanName()方法

  • 如果bean实现了BeanFactoryAware接口spring将调用setBeanFactory方法将BeanFactory实例传进来

  • 如果bean实现了ApplicationContextAware接口它的setApplicationContext()方法将被调用将应用上下文的引用传入到bean中

  • 如果bean实现了BeanPostProcessor接口它的postProcessBeforeInitialization方法将被调用

  • 如果bean实现了InitializingBean接口spring将调用它的afterPropertiesSet接口方法类似的如果bean使用了init-method属性声明了初始化方法该方法也会被调用

  • 如果bean实现了BeanPostProcessor接口它的postProcessAfterInitialization接口方法将被调用

  • 此时bean已经准备就绪可以被应用程序使用了他们将一直驻留在应用上下文中直到该应用上下文被销毁

  • 若bean实现了DisposableBean接口spring将调用它的distroy()接口方法。同样的如果bean使用了destroy-method属性声明了销毁方法则该方法被调用

 

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Spring