我想测试一个单例类只创建一个对象。 如何测试课程。
这是代码
Singleton类: -
public class SpringApplicationContext {
private static ClassPathXmlApplicationContext context = null;
private SpringApplicationContext(){};
public static ClassPathXmlApplicationContext getInstance() {
if (context == null) {
context = new ClassPathXmlApplicationContext(
"spring.xml");
}
return context;
}
}
致电课程: -
public static void main(String[] args) {
ClassPathXmlApplicationContext ctx = SpringApplicationContext.getInstance();
System.out.println("yup");
}
答案 0 :(得分:0)
你可以在对象上检查toString的sysout,它打印对象的引用,所以对于所有不同的对象,它的输出应该是相同的。
public static void main(String[] args) {
ClassPathXmlApplicationContext ctx1 = SpringApplicationContext.getInstance();
ClassPathXmlApplicationContext ctx2 = SpringApplicationContext.getInstance();
System.out.println("yup");
if(System.identityHashCode(ctx1) == System.identityHashCode(ctx2)){
System.out.println("Hash code is same");
}
}