介绍

几天前,我在听Java Spotlight Podcast的第85集 。 在这次演讲中, Bert Ertman和Paul Bakker讨论了从Spring迁移到Java EE的问题。 基本上,在他们的介绍中,他们说,如今,选择Spring而不是Java EE是没有意义的。 我们可以在他们的文章中阅读:

花费了一段时间,但Java EE终于迈出了一步,成为了一种标准,轻量级,合适的解决方案,以应对主流企业应用程序空间中的绝大多数实际开发挑战。 除了选择标准外,您没有任何其他理由。

在过去的几个月中,我看过很多想法相似的博客文章。 有些人赞扬Java EE,这是一件好事,而另一些人则只是贬低Spring。 Arun Gupta 的文章就是这种情况。 我对本文的第一个想法是“ Oracle可能真的很想写这样的巨魔……”。

我根本不是Spring传播者,也不是Java EE讨厌者。 相反,我已经大量使用Java EE 5两年了,很高兴看到Java EE最终成为Spring的优秀竞争对手。 我的目标不是在这里赞美Spring,而只是为了平衡“ Spring的仇恨者”的用语。

标准VS单一供应商解决方案

有标准是件好事吗?

您是否知道这句话“响应按照计划进行的转换”? 是的,这是敏捷规则之一。 有标准当然是好事,有多有余,是根本! 但是它有缺点。 如果有一天您对标准有疑问,而标准却没有涵盖,那么您唯一的解决方案就是填补问题,全力以赴,等待3年……

Spring和标准不兼容吗?

一点也不! 这就是我不理解“这是标准”论点的原因之一。 Spring尽其所能提供标准的使用。 您可以自由使用JPA,CDI注释等。我认为Spring更像是一个集成平台,可以让您使用所有Java EE技术以及Spring本身提供的一些其他功能。

我依赖SpringSource吗? 并不是的…

如果明天SpringSource停止开发Spring,会发生什么? 我将继续使用它……Spring Framework已获得Apache 2.0许可,毫无疑问,社区将接替人们,并且一些新公司将为Spring提供支持。 即使没有人这样做,我对Spring Framework的当前状态感到满意,为什么还要更改? 也许我会在3年后重新考虑它,届时将发布新版本的Java EE…

如果明天我对Spring框架不满意怎么办? 如果我对Java EE不满意,那将是一回事……我不再使用它了……

如果明天我对我的应用服务器不满意怎么办? 如果我对Java EE不满意,那是同样的事情……我改变了……除了使用Spring,我将有更多选择(因为Spring适用于所有Java EE应用程序服务器以及其他诸如Tomcat,Jetty等服务器)。

春天一直是创新的,并将永远是

我永远不会忘记,Spring使Java Web开发的CDI变得容易和容易。 Java EE之后(又三年后…)发布了JSR-299 。

Spring当前还提供了一些JavaEE根本无法提供的出色解决方案:

  • Spring Data(特别适合NoSQL世界)
  • Spring Social(糟糕…… JSR-357最近被拒绝…)
  • Spring手机

其中一些计划在Java EE的下一版本的计划中(是的,我们将在3年后推出!),而另一些仍未被考虑或被拒绝。

整合测试

Java的常见论点之一是,您不必使用模拟程序,由于Arquillian ,您可以进行容器内测试。 我绝对支持容器内测试,而不是模拟测试,并且Arquillian是一个很棒的工具。 无论如何,Arquillian非常适合Java EE,但不是Java EE! 没有标准,因此您只能依靠单一供应商JBoss(redhat),这使得“这是标准”的论点毫无意义。 然后, 用Arquillian测试spring是不是不可能的……至少,即使它不是完美的,Spring的优点还是可以自己提供一些东西……

结论

我没有将我的文章集中在Java EE平台提供的增强上,也没有集中在每种实现的不同功能上,这不是我的目标。 我仍然相信Java EE是一个非常好的产品,并且它最终已经成为一个重要的竞争对手。 但是当我读到“ Spring在当时是革命性的……时,它的确是上一代的框架,甚至有人称它为旧版 ”确实使我感到恼火。 我们怎么说呢? 也许只是发出嗡嗡声……而且有效!

参考: Java EE 6 VS Spring 3:Java EE已经杀死了Spring? 没门! 从我们的JCG合作伙伴 Tibo Delor在InvalidCodeException博客中获得。

翻译自: https://www.javacodegeeks.com/2012/07/java-ee-6-vs-spring-3-java-ee-has.html

Java EE 6 VS Spring 3:Java EE杀死了Spring? 没门!相关推荐

  1. Java EE 6 VS Spring 3:Java EE已经杀死了Spring? 没门!

    介绍 几天前,我在听Java Spotlight Podcast的插曲85 . 在这次演讲中, Bert Ertman和Paul Bakker讨论了从Spring迁移到Java EE. 基本上,在他们 ...

  2. 为什么在2012/2013年我将在新的Enterprise Java项目中继续使用Spring *和* Java EE

    自从我担任技术决策职务以来已经过去了一年多,很高兴看到我仍然与之保持着完美的和谐. 几个月前,我在KaiWähner的一个不错的博客中写了一个有关JEE与Spring的答案. 如果观点没有不同,那么讨 ...

  3. 从Spring到Java EE 6

    我最近在一个非常复杂的项目中工作,其中融合了许多Java EE 6技术(例如JPA,JAXB,JMS,JTA,JAX-RS等). 出于生产力和计划方面的原因,将原型应用程序设计为独立的纯Spring应 ...

  4. Spring 4 官方文档学习 Spring与Java EE技术的集成

    本部分覆盖了以下内容: Chapter 28, Remoting and web services using Spring -- 使用Spring进行远程和web服务 Chapter 29, Ent ...

  5. spring是java ee框架吗_JavaEE微框架Spring Boot深入解读

    前言 spring框架作为javaee框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时spring框架及其子框架很多,所以知识量很广. spring boot:一款spring框架 ...

  6. java ee开发环境_设置Java EE 6开发环境

    java ee开发环境 本教程简要说明了如何设置典型的环境来开发基于Java EE 6的应用程序. 除了可以正常工作的Windows XP客户端具有足够的CPU能力和内存外,本教程没有其他先决条件. ...

  7. java ee核心技术与应用_Java EE核心技术与应用(全面覆盖Java EE 6) 郝玉龙等著 pdf扫描版[103MB]...

    Java EE 核心技术与应用基于最新的Java EE 6规范对Java EE应用开发技术进行系统讲解.书中主要包括四部分内容:第一部分介绍了Java EE的定义.设计思想.技术架构和开发模式等,可使 ...

  8. java ee maven_针对新手的Java EE7和Maven项目–第6部分

    java ee maven 从前面的部分恢复 第1 部分 , 第2 部分 , 第3 部分 , 第4 部分 , 第5部分 在上一篇文章(第5部分)中,我们发现了如何使用Arquillian(我们的EJB ...

  9. java se是不是java_Java SE和java EE究竟有什么实质上的区别

    1.Java SE: Java SE 是Java平台标准版的简称(Java Platform, Standard Edition) (also known as Java 2 Platform) ,用 ...

最新文章

  1. GLPI开源资产管理系统
  2. Eclipse无法找到Java EE Tools选项问题解决方案
  3. 【转】DOS下文件传输---初识TCP网络编程改版
  4. [转][探讨]为什么说JavaScript是性价比最高的技术?
  5. Mr.J-- jQuery学习笔记(三)--静态方法详解
  6. Cognos11中通过URL访问report的设置
  7. oracle11g32位安装流程_Oracle11g----Win7 32位安装图例
  8. Unity3d中使用自带动画系统制作下雨效果(二)
  9. C语言练习——百钱百鸡
  10. linux 查看设备 usb设备驱动程序,Linux USB设备驱动程序未被探测
  11. {dede-list flag='h'}DedeCMS支持flag标签解决办法
  12. 分享我是如何找房东直租省中介费 租房 找房 直租 经验
  13. 为什么RTC晶振频率是32768Hz
  14. 关于ADC采样的采样频率,采样时间的问题
  15. 一个矩形微带贴片天线的调试
  16. 7 SY Vue 原理 副本 页面编辑错误
  17. vue-monoplasty-slide-verify自定义拼图出现位置
  18. 主机连接wifi时,虚拟机VMware如何连接网络
  19. Java比较汉字字符串排序与C++比较汉字排序
  20. 一级减速器装配图和零件图——课程设计

热门文章

  1. 关联分析:FP-Growth算法
  2. 用数组存储字符C进行回文检测
  3. android之微信分享图片
  4. java notify 指定_java的notify/notifyAll:如何notify指定的线程?
  5. Windows.etc\hosts文件
  6. IDEA 底部工具栏没有 Version Control 解决办法
  7. java常用代码_Java 中常用代码 (欢迎补充)
  8. java sentence_Java Sentence類代碼示例
  9. html点击弹出iframe,JavaScript:关于跨iframe弹窗
  10. redis集群依赖ruby