介绍

几天前,我在听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开发核心技术 pdf_2019精通Spring Boot 42讲 高清pdf完整版

    <精通springboot42讲价值99元入门到实教程>2019年最新spring boot教程,共计42讲从入门到精通,真正的实战教程. 课程内容和技术栈都会使⽤最新稳定版本,课程数量也 ...

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

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

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

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

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

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

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

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

最新文章

  1. Android应用系列:完美运行GIF格式的ImageView(附源码)
  2. hive窗口函数分组排序并取第一个值_Hive(七)Hive分析窗口函数
  3. python数据类型-第三篇:Python基本数据类型
  4. SQL语句及索引优化
  5. TC 2.0 学习总结
  6. java semaphore 等待_Java并发编程系列之Semaphore详解
  7. 【引用】Json 定义与操作
  8. android 对话框 重复,如何在Android上重复使用AlertDialog for Yes / No?
  9. Json和object相互转化,排除json中多余的字段
  10. (转)苹果推送通知服务教程 Apple Push Notification Services Tutorial
  11. LINUX上使用命令ln新建,修改链接
  12. SpringMVC中请求路径参数使用正则表达式
  13. php 时间日期转为时间戳,PHP日期格式转时间戳
  14. qt中clicked()和toggled()的区别
  15. MySQL索引原理总结
  16. 计算机与打印机脱机后怎么共享,电脑重启后共享打印机脱机的解决方法
  17. 精密划片机——晶圆切割百科
  18. 国内10大著名珠宝品牌
  19. 2021年 全网最细 Windows 系统安装虚拟机Vmware15 及 CentOS7系统和远程登录
  20. 用Python画小猪佩奇

热门文章

  1. rabbitmq启动失败-报Failed to load advanced configuration file解决方法
  2. 高级数据结构实现——自顶向下伸展树
  3. MySQL日志:binlog、事务日志(redo、undo)
  4. ibm liberty_使用Open Liberty的开发模式最大程度地缩短周转时间
  5. javafx 打开新窗口_新的JMetro JavaFX 11兼容版本
  6. openjdk 编译_使用OpenJDK 11运行JAXB xjc编译器
  7. jvm gc阻塞时长 占比_jvm进行转义分析需要多长时间? 可能比您想象的要长。
  8. 操作方法:带有Thymeleaf和Spring Boot的Java 8日期和时间
  9. redis分片_Redis分片
  10. HATEOAS的RESTful服务。 超媒体:REST的秘密要素