我应该选择Spring还是坚持使用Java EE 6?

我将完成核心Java课程,现在我必须转到Java EE方面。 我非常困惑,我应该简单地使用Java EE 6,因为我有从头到尾轻松教授的书籍,一切都在那里。

或者我应该只从Spring开始?

因为我必须从头开始,所以我遵循良好的趋势,更加注重工作。

或者即使我只使用Java EE,然后如果我需要继续使用Spring,它将会很快,反之亦然。

还有Hibernate在它们之间的位置? 我的意思是,如果我使用Java EE 6,我还需要Hibernate还是Java EE 6,我不需要它。

如果我不使用Spring或Spring,我是否会处于不利地位,可以使我的构建Web应用程序比核心Java EE / JSF框架更容易。

虽然你的问题表明Spring和Java EE是两个不同的东西,但事实上它们并非如此。 您可以使用许多Java EE组件

  • Spring MVC的servlet和JSP,
  • Spring DAO的JPA 。
  • JTA for Spring安全

Spring在Java EE堆栈中替换的唯一主要内容是EJB 。 除非你坚持使用EJB,否则Spring应该是可行的方法。 此外,Spring还为Web服务和其他内容提供内置支持。

还要检查使用Spring作为基础的Groovy和Grails 。

最后我要说,function方面也是如此。 这是代码(Java EE)与配置(Spring),确实是一个偏好问题。

根据我从标准Ja​​va学习Java EE / Web编程的个人经验,我试图直接进入一些框架,而没有清楚地了解Java EE / Web的工作原理。 虽然如果你使用像Spring这样的框架并不是所有的Java EE都是相关的,我认为掌握一些底层技术是个好主意。 你不必过分,但理解一些基础知识是个好主意。

如果在库中没有正确配置某些东西(比如Spring),有时候他们就会对用户的某些部分有一定的了解。 在经历了一些基本问题后,我花了一些时间回到基础。 之后我更能够处理框架。

我只是放弃了EJB路由。

Spring和Java EE 6在某种意义上是相似的。 他们并行前进。 我认为如果你学习Java EE 6然后(如果想要/需要)学习Spring会更好。

在Java EE中,Java持久性非常适用于不同的数据库查询目的。

首先请理解Java EE不是单一规范,而是一组规范。 而Spring是一个框架。 Spring与许多Java EE规范(包括EJB)完美集成。 使用规范的想法是使您的应用程序在本规范的不同实现之间可移植。 不幸的是,这在现实生活中并不是很好。
现在关于Hibernate。 再说一遍:这是一个框架。 Java EE包含一个名为JPA的规范。 Hibernate实现了JPA。 您可以找到其他实现。 因此,如果您正在使用其他实现,则不需要Hibernate。

现在,您可能想知道底线。 我真的没有。 如果你正在学习Java,你知道的越多,它就会越好。
如果您正在寻找启动新Web应用程序的技术,我相信最好将Spring与servlet容器(servlet容器是Java EE的一部分!)(如Jetty或Tomcat +)一起使用,以使用JPA(Hibernate实现)来实现持久性。

在一个新项目中,没有理由选择Spring 。 有很多应用程序仍在使用它。 你应该在Spring之前学习Java EESpring用于简化开发。 虽然Java EE更易于使用,但您也可以摆脱Spring依赖性。