2011-07-29 34 views
1

我打算将一个在java中完成的桌面应用程序迁移到一个web应用程序中。它有近15个包和100多个班。我打算使用JSF(使用Primefaces)+ Hibernate + Spring。我只有一点关于如何集成Hibernate和Spring的知识,我之前没有将它们与JSF集成。我只有三周的时间,而且我每天只能在这个项目上花费不到五个小时。如何使用JSF + Hibernate + Spring将桌面应用程序迁移到Web应用程序?

我的一个朋友给我写这个(复制和粘贴):

“你说你要导入旧项目(JSF & Primfaces)到 Spring和Hibernate,你会看到有一些问题与:1-做 你仍然想使用JSF作为UI或切换到春天一起 2 - 你可以有JSF和Spring的前端和后端,你可以 只有春(那是什么?。我的知识)

3-如果你切换到春天所有我不会您可以使用 Primefaces(只是猜测,因为Primefaces仅仅是JSF自定义组件的集合)。

4-在另一方面JSF是不是与Hibernate整合,你不能 轻松地使用它。您必须使用一个完整的Java EE容器,并有一个完整的Java EE 项目,是你可以得到持续与 JSF休眠的唯一途径,否则你最终会写自己的持久性管理 层(未一些有趣的事情)以启用您的JSF 会话之间的JPA会话之间的链接。还有很多其他的事情来管理交易 和更多。

5与Spring框架去要好得多,它已经支持 休眠。 “

我想我在管理JSF和Hibernate中的会话时存在误会,我想在这个项目中做的一件事是,学习使用这些框架的有效方式,即使我发现它很容易使用JPA to Hibernate,我会这样做的,但我必须挖掘并阅读一些书籍,并在不到3周的时间内完成项目

我想出了这两个决定 1.使用JSF和Hibernate和管理所有transactions.or 2.使用JSF + Hibernate的春天+一起......但我需要整合之前有概念的深刻理解。

你有没有类似的经历?你能解释一下,如果我不选择2,这个概念会是怎样的? ...

+2

这不是一个经验分享网站可能尝试http://programmers.stackexchange.com/ – Shahzeb

+0

也取决于你的技能/背景(和特别是在这些时间contraints)依赖注入(relalizing Spring MVC可以在第一眼看起来很沉重)可以在J2ee(Servlets)应用程序和ORM中完成,而Hibernate不是唯一可以考虑JPA的解决方案。 –

回答

7

所以,基本上,你的意思是你有75个工时(两周)转换的内容听起来像一个相当复杂的桌面应用程序为基础的架构的web应用程序你不使用的技术理解你不确定在一起工作吗?我要给你一个价格两个答案..

咨询101
除非你有一个固体理解所涉及的建筑,必须非常小心,你的诺言,包括时间的研究(“优雅地失败”)。请记住,您正在与两个日历比赛:完成工作所需的工时和实际到期日(更不用说无数的“软”日期:测试开始,“死机”日期,设计完成日期等)。通常,管理层不会完全理解转换系统涉及的内容,从而推动这些决策(“我们需要这个伟大的应用程序/工具的Web版本!”)。

票据从您的好友
这是很好听,你有,你可以去,当你需要帮助做出这些决定的资源。试图解决这个问题时,这将是关键。至于他的建议:

  1. 这里很难说。很多都归结于你所熟悉的东西。我自己偏爱Spring框架,因为它们往往相当小,并且非常注重整合。
  2. 这取决于您想要管理多少抽象层。
  3. 我还没有试过这个特定的组合,但一个快速搜索出现了this sample project
  4. 我不知道我明白你的朋友在这里讨论什么。我们正在谈论两个完全不同的问题:持久性和界面。您可以开发基于Hibernate的全新持久层,并在您的用户界面中利用此层,但根据您的时间框架,开发与持久性机制更紧密结合的解决方案可能会更容易,并且可以在您重新构建有机会(或者至少保留非常好的笔记给下一个/支持开发者)。
  5. 是的,Spring有Hibernate的集成点。但这并不一定意味着它更好。请记住,有一个可用的UI框架(Spring Web具有内置支持JSF,各种persistence frameworks,并具备相当雄厚的集充当胶水持有它一起库的集成。

结束语截至
回归似乎是核心问题:什么架构做我选择这个桌面应用程序转换成Web应用程序在两周内我不想给你共同顾问的答案,但:这取决于你最熟悉哪种技术?你用哪种技术愿意承担风险(而完整的Java EE栈与ORM是一个重大决定)?你的目标是什么(你想要学习新东西,还是按时完成工作,测试和令人满意的实施)?老实说,这可能不是问题的最佳答案,但是,确定真正的目标是坚实的技术领导者的关键技能之一。我的想法? JFaces + Spring听起来像是一个体面的决定。因此,一些灵魂搜索..

+0

谢谢你的解释。当然,我正在网上冲浪。我将尽我所能提供这个项目,同时从中获得丰富的知识。 – matiman

+0

“识别真正的目标是坚实的技术领导者的关键技能之一”,要么在我的立方体墙上或纹身到我的肉体 – billinkc

+0

当你从头开始你的网络应用程序,你应该考虑Spring Data JPA (http://www.springsource.org/node/3187),上周发布了1.0版本。以下是参考文档:http:// static。springsource.org/spring-data/data-jpa/docs/1.0.0.RELEASE/reference/html/ –

相关问题