我正在将一个大的应用程序迁移到CDI和JPA。 在我可以更改所有代码之前,我需要知道以下模式是否可行。这将允许我部分迁移应用程序。我可以实例化一个指定的无状态bean吗?
我的托管Bean:
@Named
@Stateless
public class LanguageBoundary implements Serializable {
@Inject
LanguageService languageService;
@Inject
CrudService crudService;
public LanguageEntity findById(Long id) {
return crudService.find(LanguageEntity.class, id);
}
...
我可以在任何其他类使用:
// Methods: DAO - Used by original deprecated parent wrapper class
public LanguageEntity findByIdImpl(Id id) {
LanguageBoundary lb = new LanguageBoundary();
return lb.findById(id.getValue());
}
谢谢你的提醒。
我和约翰一样好奇。 '@Named'通过EL声明一个可见的CDI bean,其中'@Stateless'声明一个EJB容器bean。分离担忧并不鼓励混合两者。另外,将EJB组件暴露给UI层并不是一个好习惯。 – Sam