单例:有两种不同的概念:一个对象在应用程序中只有单一实例,对于设计模式,则成为单例模式
单例设计模式:
public class Singlton{
private static Singlton single=new Singlton();
public statcic Singleton getInstance(){
return single;
}
}
这种设计模式已经很普及了,但他有些缺点,就是使用它会带来耦合度上的危害,你的应用程序代码必须知道单例类的确切信息后,才能使用,实际上,单例模式并不是简单的单一实例,他是两种模式的结合体。首先,单例模式必须可以维护一个对象的单一实例,其次,模式将对象查找能力完全转移到接口中。在Unit Test中往往会比较麻烦,因为你不能讲这些单例通过测试中模仿mock对象代替
Spring的bean可以享受单一实例的实例化样式,而不用遵循单例模式的规范,并可以很方面的使用singleton=false设置bean的多例实现
原文链接:https://www.f2er.com/javaschema/288223.html