4、Bean的作用域
4.1、单例模式(singleton):Spring默认机制
单线程使用
-
编写bean.xml文件;
<!--显示设置作用域--> <bean id="user2" class="com.beyond.pojo.User" c:_0="秦疆" c:age="18" scope="singleton"/>
-
测试。
import com.beyond.pojo.Student; import com.beyond.pojo.User; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MyTest { @Test public void test2(){ ApplicationContext context = new ClassPathXmlApplicationContext("userbean.xml"); User user = context.getBean("user2", User.class); User user2 = context.getBean("user2", User.class); //true System.out.println(user==user2); } }
4.2、原型模式
每次从容器中get的时候,都会产生一个新对象!
多线程使用
-
编写bean.xml文件;
<!--显示设置作用域--> <bean id="user2" class="com.beyond.pojo.User" c:_0="秦疆" c:age="18" scope="prototype"/>
-
测试。
import com.beyond.pojo.Student; import com.beyond.pojo.User; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MyTest { @Test public void test2(){ ApplicationContext context = new ClassPathXmlApplicationContext("userbean.xml"); User user = context.getBean("user2", User.class); User user2 = context.getBean("user2", User.class); //false System.out.println(user==user2); } }