Bean的作用域Scopes
Bean的作用域Scopes
1.单例模式 singleton(Spring默认)
每次从容器中getBean都是同一个对象 单例模式只有一个
<!--显示定义单例模式-->
<bean id="user" class="com.saxon.pojo.User" p:name="张三" p:age="18" scope="singleton"/>
测试结果true
@Test
public void test2(){
ApplicationContext context =
new ClassPathXmlApplicationContext("userbean.xml");
User user = context.getBean("user", User.class);
User user2 = context.getBean("user", User.class);
System.out.println(user==user2);
}
2.原型模式 prototype
每次从容器中getBean都会产生一个新的对象
<bean id="user" class="com.saxon.pojo.User" p:name="张三" p:age="18" scope="prototype"/>
测试结果为false
@Test
public void test2(){
ApplicationContext context =
new ClassPathXmlApplicationContext("userbean.xml");
User user = context.getBean("user", User.class);
User user2 = context.getBean("user", User.class);
System.out.println(user==user2);
}
session,request,application
这些只能在web开发中使用到

浙公网安备 33010602011771号