我应该选择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),确实是一个偏好问题。
根据我从标准Java学习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 EE
。 Spring
用于简化开发。 虽然Java EE
更易于使用,但您也可以摆脱Spring
依赖性。