我是Java Web应用程序开发的新手。到目前为止,我所使用的只是普通的旧servlet,jdbc和jsps。我开始阅读有关所有框架的内容,我完全感到困惑并迷失在一堆框架中?所以这里有一些问题:
感谢 维卡斯
答案 0 :(得分:2)
1。 EJB3和Hibernate是竞争技术还是可以一起使用。
他们有竞争的API(JPA与Hibernate的API不同)但是Hibernate可以插在JPA下面,只是不要期望与Hibernate编码的东西的互操作性 - 特别是jBPM(3.2)即使在Seam下也不能完全互操作(2.1) 0.1)。
2。如果我使用JBoss Seam,我是否还需要使用Hibernate来满足我的ORM需求,或者Seam + EJB3是否需要这样做?
据我所知,你可以做任何一件事。
3。如果我必须使用JBoss Seam开发webapp,我需要学习哪些典型的框架?是以下部分还是全部:Seam(ofcourse)JSF EJB3 Hibernate控件容器的Spring反转
JSF - 对于真正有意义的Seam来说至关重要 - 我建议将facelets作为创建JSF页面的主要方式。语法很好而且很熟悉 - 普通的旧命名空间限定了XHTML,服务器端组件位于不同的命名空间内。非常琐碎和干净,与我尝试的其他任何东西不同。
EJB3 - 如果你喜欢或不喜欢,取决于你。以这种方式引导您进入Java EE,这仍然让我感到有点害怕,尽管它有很多好处。
休眠 - 如果你愿意,取决于你。 JPA实体经理提供了替代方案。
Spring IoC,呃...如果你愿意,请确定,再取决于你。 Seam负责有状态会话和会话范围bean(通常是表示逻辑层的一部分),Spring最适合无状态上下文,例如数据库和任何SOA客户端等后端服务的接口。
我发现Seam + JSF(facelets)+ Hibernate + Spring是一个非常好的组合,可以在jBPM上创建UI,也可以在另一个用于提供内容页面的项目上,虽然这不是Seam的用途。
抱歉,无法帮助你。
答案 1 :(得分:0)
答案 2 :(得分:0)
JBoss Seam是一个元框架,它结合了EJB3和JSF框架,并使用一种依赖注入形式包装它们。作为J2EE技术,您通常将其部署在应用程序服务器中 - 这就是JBoss Portal的用武之地。
JBoss Portal是JBoss组织的商业产品。它以“模块”的形式将各种J2EE组件捆绑在一起。这些组件将包括EJB3,JSF和JBoss Application Server。
查看this link,然后滚动到底部以找出Seam和Portal适合的位置。门户网站描述了它提供的模块(我假设它们附有定价模型),Portlet module提供了Seam支持。
答案 3 :(得分:0)
EJB3和Hibernate是互补技术。 EJB3定义了JPA(API),Hibernate可以用作JPA的持久性提供程序。
您仍然需要使用其中一个可能是Hibernate,OpenJPA等的持久性提供程序。
JSF和EJB3。
关于Seam和Portal开发:更好的问题是JSF和Portal如何协同工作?
他们当然一起工作 - 这是相关教程:Developing Portlets using JSF, Ajax, and Seam
答案 4 :(得分:0)