SpringBean的作用域

简介: SpringBean的作用域

一: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属性声明了销毁方法,则该方法被调用;

 


相关文章
|
3月前
|
前端开发 Java 开发者
Bean的生命周期和作用域
Bean的生命周期和作用域
|
3月前
|
XML Java 数据格式
Spring框架学习 -- Bean的生命周期和作用域
Spring框架学习 -- Bean的生命周期和作用域
35 2
|
3月前
|
存储 设计模式 Java
Bean 作用域和生命周期
Bean 作用域和生命周期
|
前端开发 Java C++
Bean的作用域
Bean 常见的 6 种作用域
|
3月前
|
缓存 前端开发 Java
面试题:说说你对Bean作用域的理解和使用?
面试题:说说你对Bean作用域的理解和使用?
34 0
|
12月前
|
存储 安全 Java
Bean 的作用域和生命周期
Bean 的作用域和生命周期
54 1
|
XML Java Maven
springBean的作用域
springBean的作用域
60 3
|
XML 安全 Java
Bean作用域和生命周期
Bean作用域和生命周期
|
XML Java 数据格式
一文了解Bean的作用域
了解Bean的作用域
|
XML 存储 Java
Bean的作用域和生命周期(下)
Bean的作用域和生命周期(下)