我使用netbeans,当我开始为app-user的管理创建一个bean时,我开始想知道:哪种方式更有用,持久化DB表并在其上应用EJB或创建一个bean处理与DB的连接并“手动”进行测试(对用户进行CRUD操作的本地bean)?
我承认这个问题很广泛,但作为初学者,我不得不问在未来的方式对我来说会更简单或更安全。
Plus:JSF上用于处理用户表上的CRUD操作的所有API,包含所有必需的测试(例如具有确切名称和密码的用户)等等?
感谢。
编辑:我注意到在Netbeans中使用JSF的CRUD很少(使用7.1.2),我认为其中一个是针对用户的CRUD,但我不知道你会信任多少工作在现实生活中有这样的例子,有什么说法是安全和精致的吗?答案 0 :(得分:1)
现在您的后端有两个选项 - CDI和EJB。我猜你不需要像事务和RMI这样的东西,所以CDI会为你完成这项工作(它与JSF非常相似,但它增加了更多的功能,JSFs Managed Beans很快就会过时)。
您的UserBean对JSF页面可见
@Named
@RequestScoped //this depends on your use case
public UserBean {
@Inject
private UserDao dao;
public void addUser(User user) {
dao.addUser(user);
}
}
你的UserDao bean可能会喜欢这个
@RequestScoped
public UserDao {
@PersistencyContext
private EntityManager em;
public void addUser(User user) {
em.save(user);
}
}
当然,这个例子并不完美,它有它的缺点,但你需要开始的东西,CDI和JSF绝对是这样。稍后您可以添加EJB。另请参阅此tutorial,它将基本概述CDI和JSF可以一起完成的任务。