Java 用户的积垢、自制bean还是持久化方法?

Java 用户的积垢、自制bean还是持久化方法?,java,api,jsf,crud,Java,Api,Jsf,Crud,我使用netbeans,当我准备为应用程序用户的管理创建一个bean时,我开始思考:哪种方法更有益,持久化DB表并在其上应用EJB,还是创建一个bean来处理与DB的连接并“手工”进行测试(对于用户的CRUD操作来说,这是一个自制的bean) 我承认这个问题是广泛的,但作为一个初学者,我不得不问,在未来什么样的方式对我来说更容易或更安全 另外:JSF上有没有处理用户表上CRUD操作的API,以及所有必需的测试(例如具有确切名称和密码的用户)等等 谢谢 编辑:我注意到在Netbeans中很少有用于

我使用netbeans,当我准备为应用程序用户的管理创建一个bean时,我开始思考:哪种方法更有益,持久化DB表并在其上应用EJB,还是创建一个bean来处理与DB的连接并“手工”进行测试(对于用户的CRUD操作来说,这是一个自制的bean)

我承认这个问题是广泛的,但作为一个初学者,我不得不问,在未来什么样的方式对我来说更容易或更安全

另外:JSF上有没有处理用户表上CRUD操作的API,以及所有必需的测试(例如具有确切名称和密码的用户)等等

谢谢


编辑:我注意到在Netbeans中很少有用于JSF的CRUD示例(使用7.1.2),我认为其中一个是针对用户的CRUD,但我不知道您对在现实生活中使用这些示例有多信任,比如说它们是否足够安全和完善?

现在您的后端有两个选项—CDI和EJB。我想您不需要事务和RMI之类的东西,所以CDI将完成这项工作对于您来说(它非常类似于JSF,但它添加了更多功能,JSFs托管bean有望很快过时)

您的UserBean对JSF页面可见

@Named
@RequestScoped //this depends on your use case
public UserBean {

    @Inject
    private UserDao dao;

    public void addUser(User user) {
        dao.addUser(user);
    }
}
您的userdaobean可能会这样

@RequestScoped
public UserDao {

    @PersistencyContext
    private EntityManager em;

    public void addUser(User user) {
        em.save(user);
    }
}

当然,这个例子并不完美,也有它的缺点,但你需要先做一些事情,CDI和JSF绝对是最好的方式。稍后你可以添加EJB。也可以看看这个例子,它将给出CDI和JSF可以一起做什么的基本概述。

现在你有两个后端选项——CDI和EJB。我想你不需要d事务和RMI之类的东西,因此CDI将为您完成这项工作(它与JSF非常相似,但它正在向其添加更多功能,JSFs托管bean有望很快过时)

您的UserBean对JSF页面可见

@Named
@RequestScoped //this depends on your use case
public UserBean {

    @Inject
    private UserDao dao;

    public void addUser(User user) {
        dao.addUser(user);
    }
}
您的userdaobean可能会这样

@RequestScoped
public UserDao {

    @PersistencyContext
    private EntityManager em;

    public void addUser(User user) {
        em.save(user);
    }
}

当然,这个例子并不完美,也有它的缺点,但您需要先做一些事情,CDI和JSF绝对是最好的方式。稍后您可以添加EJB。也可以看到这个例子,它将给出CDI和JSF可以一起做什么的基本概述。

非常感谢。“JSFs托管bean有望很快过时”,怎么样?这意味着在新的应用程序中,您应该使用CDI,它将变成带注释的bean
@Named
,而不是
@ManagedBean
,非常感谢。“JSFs托管bean有望很快就会过时。”,那又如何?这意味着在新的应用程序中,您应该使用CDI,它将变成带注释的bean
@Named
,而不是
@ManagedBean