bean的作用域
1.项目目录
2.Student.java
package com.atguigu.ioc.scope;
public class Student {
private Integer sid;
private String sname;
public Student() {
System.out.println("Student 无参构造方法");
}
public Integer getSid() {
return sid;
}
public void setSid(Integer sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
// @Override
// public String toString() {
// return "Student [sid=" + sid + ", sname=" + sname + "]";
// }
}
3.scope.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="student" class="com.atguigu.ioc.scope.Student" scope="singleton">
<property name="sid" value="1001"></property>
<property name="sname" value="张三"></property>
</bean>
</beans>
4.Test.java
package com.atguigu.ioc.scope;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args){
/**
* 若spring中有单例模式(singleton)的bean,在初始化容器时就会创建此对象
* 而多例即原型(prototype)的bean,会在使用时创建
*/
ApplicationContext ac = new ClassPathXmlApplicationContext("scope.xml");
// Student student1 = ac.getBean("student",Student.class);
// Student student2 = ac.getBean("student",Student.class);
//
// System.out.println(student1);
// System.out.println(student2);
}
}