我应该先学习什么,Spring还是Hibernate?

时间:2009-04-06 16:03:25

标签: hibernate spring java-ee

我刚刚开始学习Struts,并且我正努力成为一名优秀的Java程序员。我的下一个决定是选择接下来要学习的内容,Spring还是Hibernate?

你们也有什么建议或提示让我变得更好吗?提前谢谢!

14 个答案:

答案 0 :(得分:51)

我建议学习Spring。只学习基础知识,然后当你来学习Hibernate时,你将能够利用所有使Hibernate更容易使用的Spring助手。

还有一点是,Spring在许多层中都很有用,而不仅仅是在数据访问部分:)

答案 1 :(得分:20)

Spring和Hibernate是两种非常互补的技术,根据您的需要,您可以同时使用或不使用。但这些框架所依赖的基本面都是100%可销售的,更重要的是任何经验丰富的专业人士都需要。

在没有首先获得关系数据建模,关系数据库设计和事务处理的基础知识的情况下学习Hibernate没什么价值。所以这些应该是Hibernate的先决条件。

在没有首先获得有关设计模式,依赖注入和应用程序设计的基础知识的情况下学习Spring几乎没有价值(就像听起来你需要理解应用程序层,类和包依赖,MVC一样)通过Struts熟悉这个,安全性和Web标准,当然还有OOD的基础知识。)

通过学习这两种方法,即使不是适销对象,但至少是非常扎实的专业人士,他们对大多数Java(而不仅仅是Java)应用程序的工作充满信心和自如。

答案 2 :(得分:5)

我认为Hibernate在获取基本使用技能方面相当容易和直接,而且更重要的是,EJB3正在成为标准。

Spring是一种外部技术,不是正式的J2EE的一部分,所以第二次做它可能是有道理的,它还有更多方面,你真的想要一本好书。

答案 3 :(得分:2)

Spring比Hibernate更大,更普遍适用。你的决定是学习曲线的长度和你完成后的效用之间的权衡。

我推荐Spring,因为它可以与Struts和Hibernate共存,也可以为任何一个提供替代方案(Spring web MVC和Spring JDBC)。

Spring将对您的Java EE设计产生有益的影响。从那开始。

答案 4 :(得分:1)

我会先和Spring一起去。 Spring有许多不同的部分是有用的:依赖注入,面向方面的编程,JDBC帮助程序类,整个MVC框架和加载更多。您可以在第一个应用程序中使用少量或尽可能多的Spring,参考文档非常出色。你可以轻松学习Spring而不需要购买一本书。

答案 5 :(得分:1)

这些天我不会选择Struts。如果你已经考虑过Spring了,你还应该看看Spring MVC,特别是基于Annotation的新型控制器非常适合使用。

我建议在Hibernate之前学习Spring,因为如果你坚持核心并且可能是WebMVC,我会更容易学习,这是我推荐的。 Spring在上一版本中发展得相当多,但核心仍然简单易懂。

Hibernate要复杂得多。我建议理解像Hibernate这样的ORM的一般用途,学习hibernate注释配置hibernate的方法,然后直接进行Spring / Hibernate Integration,因为它让很多事情变得容易。如果您的域名不仅包含几种基本类型,您还可以查看GenericDAO pattern

答案 6 :(得分:1)

如果目的是学习MVC框架以及如何在该框架中使用ORM,那么学习的逻辑方式是Spring,然后是Hibernate。在我看来,通过这种方式,您将能够轻松掌握概念

答案 7 :(得分:0)

首先我学习了Hibernate。使用groovy来尝试不同的Hibernate示例。然后学习了Spring及其Hibernate的支持。我想我的旅程非常有趣。

以下是Struts + Spring + Hibernate应用程序的示例。 Struts用于前端,Spring用于中间层,JPA / Hibernate用于持久层。

http://struts.apache.org/2.0.11/docs/struts-2-spring-2-jpa-ajax.html

答案 8 :(得分:0)

我首先学习了Hibernate,然后我学会了Spring如何让它变得更容易。

答案 9 :(得分:0)

我会考虑同时学习它们。 Spring和NHibernate都是具有很高学习曲线的大型框架。它会带你一些学习和实验时间来熟悉和擅长它。当您忙于这两个框架时,您将首先自动关注它们中最有用的部分。首先学习重要部分会使学习曲线更加陡峭。

答案 10 :(得分:0)

我认为您应该在简报中分享您的个人资料以获得更好的答案

...然而 休眠和弹簧都很热,您可以在为企业应用程序发布的所有工作要求中找到它们 - 因此,就您的选择选择而言,您处于正确的轨道上。

恕我直言,比春天更狡猾 原因是 - Spring凭借其架构对代码的侵入性最小 掌握的API很少。 因此,对于Spring中的代码,您不必真正编写除Java之外的任何代码 但是要编写hibernate代码 - 你需要知道Hibernate API和hibernate编程的陷阱。休眠的基础很容易掌握 - 但要学习技巧和琐事 - 需要时间

如果我是招聘经理并且正在使用hibnernate和Spring 我宁愿选一个在Hibernate上更强大的人,而不是那些在Spring上更强大的人 就春天而言 - 作为一名贡献程序员 - 你几乎不用担心 很可能该应用程序已经有了一个框架 - 你必须插入你的贡献。

但是对于hibernate中的代码 - 就像我之前说过的那样 - 如果你有这样的经验,它会更好

PS:我知道每个人对此都有不同的看法 - 所以你可能会变得更加困惑。我想 - 一旦你分享了一些你的个人资料 - 它会帮助人们给你更好的建议。祝你好运!!!

答案 11 :(得分:0)

如果你需要两种技术Spring Live所需要的一切。 我开始从完全零开始学习技术:)

答案 12 :(得分:0)

在这里,我首先学习了hibernate而不是Spring,我认为这是正确的顺序, 从youtube做一些小例子,看看你如何配置hibernate,创建一个会话并对你的数据库做一些技巧,至少是基本的东西。 然后去看看如何用hibernate配置spring。

答案 13 :(得分:0)

我认为你学习Spring,RDBMS的基础知识,然后去Hibernate,这对你来说很容易学习..