我正在使用Spring MVC構建一個Web應用程序,該應用程序使用@ RequestBody/Jackson將JSON請求分析爲POJO。允許靜態方法訪問DAO
當Jackson創建POJO時,我無法自動裝載我的DAO服務,因此我創建了一種通過實用方法靜態訪問DAO的方法。
private static DAOService daoService;
public static User getUserById(int id)
{
return daoService.getUserDao().getById(id);
}
我有彈簧在應用程序啓動時填充daoService,它只是我的DAO的持有者。
我這樣做是因爲我創建的實體需要從數據庫中檢索其他子實體來完成自己。
這似乎是工作,但我擔心這是否安全。任何人都可以預見這個問題嗎?
我假設它是安全的,因爲daoService永遠不會發生變異,並且getById方法僅對它自己的參數起作用。
感謝
編輯:
public void setSlot(int id) {
this.slot = EntityUtils.getSlotById(id);
}
併發訪問子實體呢? – efekctive
@efekctive他們不會是單獨的實例嗎? – FMC
如果使用靜態方法編號訪問子實體。 – efekctive