单例模式—个人理解
1什么是单例模式
顾名思义单例指的是jvm里面只有一个实例。不能通过new创建对象。
2spring中的单例
spring里面管理的bean,如果没有被特别声明为原型,那就是单例,如各种dao类。但这个是spring容器的单例,不是jvm层面的。如果jvm里面运行了2个应用,该类是可以存在2个实例。并且可以通过new的方式创建,所以并不属于单例模式。
public class SpringTest1 {
public static void main(String[] args) {
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("com/xreport2_demo/spring-mybatis.xml");
//2. 从 IOC 容器中获取 bean 的实例
TestUser testUser1 = (TestUser) ctx.getBean("testUser");
TestUser testUser2 = (TestUser) ctx.getBean("testUser");
System.out.println(testUser1==testUser2);
}
}
3为什