我正在使用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