目录
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 ">
<!--使用spring来创建对象,在spring这些都成为Bean-->
<bean id="user1" class="com.luban.User"> </bean>
<bean id="user2" class="com.luban.User"> </bean>
</beans>
测试
public class Main {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
System.out.println(context.getBean("user1", User.class));
System.out.println(context.getBean("user1", User.class));
System.out.println(context.getBean("user2", User.class));
System.out.println(context.getBean("user2", User.class));
}
}
输出;
地址一样,说明是单例Bean(xml中定义的Bean默认就是单例)
修改,将user1修改成原型bean
再次测试
单例池
ConcurrentHashMap singletonObject beanName object
将单例的beanName放入beanName中
将对应对象放入object中,以便后面根据名字取出对象,都是同一个