通常,現在很多應用程序都使用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