通常,现在很多应用程序都使用Spring来处理应用程序中pojo类的生命周期。但是,如果我的应用程序由于其他问题而无法使用Spring,该怎么办?我该如何从应用程序的服务层转到DAO层?如何从J2EE Web应用程序中的服务层调用DAO方法
目前这是我正在做的。
public class MyServiceImpl{
private static MyDAO daoInstance=new MyDAO();
public void someMethod(){
daoInstance.methodToCall();
}
}
public class MyDAO{
public void methodToCall(){
}
}
在MyServiceImpl保持daoInstance静态可确保只有一个在所有ServiceImpl对象实例。但是,如果许多用户同时访问同一段代码,这是否会造成并发问题?
但是,如果我不保持静态,每个MyServiceImpl对象都会有一个daoInstance。这不会在堆中留下如此多的物体。这些对象的生命周期如何得到管理。
我想了解从应用程序的一层导航到其他层保持并发性,性能和其他此类因素的正确方法。
感谢您的任何帮助。
如果daoInstance是静态的并且假定有多个用户在Web应用程序中访问相同的someMethod()。行为是否可预测(线程安全)? – Arunabh