Spring 默认创建的对象是单例模式的对象
设置Bean的作用域,通过Bean元的Scope属性
Scope取值范围:
Singleton:单例
proptotype:非单例
Request:创建该Bean,并调用request.setAttribute(“beanId”,beanObj);
Session:创建该Bean,并调用request.getSession().setAttribute(“beanId”,beanObj);
globalSession:全局Session分布式服务器
测试代码
public class InitBeanApp { @Test public void show() { ApplicationContext ac = new ClassPathXmlApplicationContext( "applicatioContext.xml"); Bean1 bean1 = (Bean1) ac.getBean("bean2"); Bean1 bean2 = (Bean1) ac.getBean("bean2"); Bean1 bean3 = (Bean1) ac.getBean("bean3"); Bean1 bean4 = (Bean1) ac.getBean("bean3"); System.out.println(bean1); System.out.println(bean2); System.out.println(bean3); System.out.println(bean4); } }
配置代码
<!-- bean的作用域 --> <!-- scope:用于设置bean的作用域 默认值:singleton 单例--> <bean id="bean2" class="com.hao947.bean.Bean1" scope="singleton"> </bean> <!-- bean的作用域 --> <!-- scope:用于设置bean的作用域 默认值:prototype --> <bean id="bean3" class="com.hao947.bean.Bean1" scope="prototype"> </bean>