三、Bean的作用域及生命周期


Spring 框架共有五种作用域

作用域 描述
singleton 在spring IoC容器仅存在一个Bean实例,Bean以单例方式存在
prototype 每次从容器中调用Bean时,都返回一个新的实例,即每次调用getBean()时,都相当于new一个新的实例
request 每次HTTP请求都会创建一个新的Bean,该作用域仅适用于WebApplicationContext环境
session 同一个HTTP Session共享一个Bean,不同Session使用不同的Bean,仅适用于WebApplicationContext环境
global-session 一般用于Portlet应用环境,该运用域仅适用于WebApplicationContext环境

注意:
-- singleton 默认在 IoC 容器启动时就创建 bean 实例,不管该实例是否使用。
-- 让 bean 实例在使用时才被创建,可以通过 lazy-initialization(懒加载),具体可通过     lazy-init 属性设置。
-- lazy-init 只在 bean 的作用域为 singleton 时,才会生效。


    
    


xml 中配置 bean 的作用域


    
    


注解配置 bean 的作用域

@Scope(scopeName = "singleton") //可以直接写为@Scope("singleton")

Spring Bean 的生命周期

  • bean 的实例化
  • bean 的属性注入
  • bean 的初始化
  • bean 的业务方法
  • bean 的销毁

你可能感兴趣的:(三、Bean的作用域及生命周期)