传智播客Spring视频教程学习笔记5

spring管理bean的作用域

 

来看一段代码

ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); PersonService personService1 = (PersonService)context.getBean("personService"); PersonService personService2 = (PersonService)context.getBean("personService"); System.out.println(personService1==personService2);

输出结果为true,说明getBean方法获取的是单实例

 

那么就来看bean的作用域

bean标签的scope属性来设置

singleton

默认情况下的单例模式,每次调用getBean方法获取的都是同一个bean对象

默认情况喜爱会在容器启动时初始化bean,但我们可以指定Bean节点的lazy-init属性来延迟初始化bean,这时候,只有第一次获取bean才会初始化bean。

如果对所有bean都应用延迟初始化

 

prototype

每次从容器获取bean都是一个新的对象

 

request

 

session

 

global session

你可能感兴趣的:(Spring)