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>
写个测试方法:
@Testpublic 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);}
结果如下:
2、prototype:多例原型,被标识为多利的对象,每次在获得才会创建
将上面的配置文件中的scope属性改为prototype,在运行结果就会输出false
3、还有两个request、session,由于在实际开发中基本遇不到我就不介绍了