Bean的作用域和生命周期

85 阅读1分钟

作用域

  • 在Spring里面,设置创建bean实例是单实例还是多实例
  • 在Spring里面,默认情况下,bean是单实例对象

如何设置单实例还是多实例

(1)在spring配置文件bean标签里面有属性(scope)用于设置单实例还是多实例 (2)scope属性值

    第一个值默认值,singleton,表示单实例对象
    第二个值prototype,表示是多实例对象
    第三个request
    第四个session

singeton和prototype区别

  • singleton表示单实例,prototype表示多实例
  • 当scope的值设置成singleton时候,加载spring配置文件时候就会创建单实例对象
  • 当scope的值设置成prototype时候,不是加载spring配置文件的时候创建对象,而是在调用getBean方法时候创建多实例对象

生命周期

1.创建bean实例

  1. 通过构造器创建bean实例(无参构造器)
  2. 为bean的属性设置值和对其他bean的引用(调用set方法)
  3. 调用bean的初始化方法(需要进行配置)
  4. bean可以使用了(对象获取到了)
  5. 当容器关闭的时候,调用bean的销毁的方法