欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Bean的scope属性

程序员文章站 2022-05-23 23:13:25
...

1、singleton(默认值):单列对象,被标识为单例的对象在spring容器中只会存在一个实例
测试如下:
我们创建一个User类:

public class User {
	private String name;
	private int age;
	public User() {
		System.out.println("无参构造方法");
	}

	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
}

在spring配置文件里配置:

<bean name="user" class="cn.it.bean.User" scope="singleton"></bean>

写个测试方法:

@Test
	public void fun4() {
		//每次容器启动就会创建容器中所配置的所有对象
		ApplicationContext as = new ClassPathXmlApplicationContext("cn/it/create/applicationContext.xml");
		User user1 = (User) as.getBean("user");
		User user2 = (User) as.getBean("user");
		System.out.println(user1==user2);
	}

结果如下:
Bean的scope属性
2、prototype:多例原型,被标识为多利的对象,每次在获得才会创建
将上面的配置文件中的scope属性改为prototype,在运行结果就会输出false

3、还有两个request、session,由于在实际开发中基本遇不到我就不介绍了