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

介绍

几天前,我在听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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371882.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

usb检测串口是哪个角_怎样测试串口和串口线是否正常

一步:把串口线或者USB转串口线插到计算机上。二步:打开串口调试助手接着选择串口,串口线和 USB 转串口的端口号查看路径:电脑上--右键--属性--硬件--设备管理器-端口(COM 和LPT),点开端口前面的号查看即可。注释:1、US…

NodeJS常用模块介绍

收集了NodeJS开发中常用的一些模块。MVC框架 - Express Express 是轻量灵活的Nodejs Web应用框架,它可以快速地搭建网站。Express框架建立在Nodejs内置的Http模块上,并对Http模块再包装,从而实际Web请求处理的 功能。它支持多种前端模板&…

Java泛型面试问题

Java面试中的通用面试问题在相当长的时间内在Java 5周围越来越普遍,许多应用程序都转移到Java 5上,并且几乎所有新的Java开发都发生在Tiger(Java 5的代号)上。 泛型和Java 5功能(例如Enum)的重要性&#xf…

隐层元素闪一下_太阳一直依靠什么元素在燃烧,地球上的重元素又是怎么来的?...

本文基于回答网友一个这样的问题:太阳目前氢核聚变是氦碳氧稳定燃烧地球上的铁镍重元素哪里来的?可以说,这是一个毫无逻辑乱七八糟的问题,但既然邀请回答,就从中挑出几个稍显合理的问题说明一下。太阳核心每时每刻都在…

基于Token的WEB后台认证机制

基于Token的WEB后台认证机制 几种常用的认证机制 HTTP Basic Auth HTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可&#xf…

JSF基于事件的沟通:过时的方法

用JSF编写的Web应用程序由相互交互的bean组成。 在开发Web应用程序时,bean之间的通信是主要的设计模式之一。 有时,一个bean需要向其他bean发送事件,以通知它们某些更改或其他任何更改。 我们通常可以将托管bean或Spring bean注入另一个bean的…

mysql调优 基础

MySQL调优可以从几个方面来做:1. 架构层:做从库,实现读写分离;2.系统层次:增加内存;给磁盘做raid0或者raid5以增加磁盘的读写速度;可以重新挂载磁盘,并加上noatime参数,这…

saltstack

第一:安装前准备: 声明我用的是ubuntu 16.04的系统 1.修改主机名,并保证两台机器可以互相ping同主机名 ip1 master_hostname ip2 slave_hostname 第二:安装 服务器安装 yum install salt-master -y客户端安装 yum install salt…

ios 百度地图指定区域_获取百度地图可视区域范围的数据

有个业务场景,需要根据获取到的地图区域显示,根据相应的经纬度反查 左侧区域的会议室。思路:1.得到百度地图可视区域--可视区域的中心点2.可视区域的四个角的其中两个(东北角西南角)http://lbsyun.baidu.com/cms/jsapi/reference/jsapi_refer…

使用WS-Trust / STS采样器扩展JMeter

JMeter没有对WS-Security或WS-Trust的任何内置支持,这使我为JMeter开发了此STS Sampler –可以在负载测试STS时使任何人的生活变得更好。 首先,您需要拥有Apache JMeter发行版。 我正在使用v2.7。 然后,您可以从此处下载sts.sampler.zip –解…

分享一个使用闭包对一个对象继承方式

function Person(name,age){this.name name;this.age age; }//定义一个new函数 继承了对Person的继承 function New(obj){return function(){var o {"__proto__":obj.proto};obj.apply(o,arguments);}return obj; }var n new New(Person)("对象继承了person…

vue怎么改logo_vue全家桶项目构建教程

前言vue是现阶段很流行的前端框架,很多人通过vue官方文档的学习,对vue的使用都有了一定的了解,但再在项目工程化处理的时候,却发现不知道改怎么更好的管理自己的项目,如何去引入一些框架以及vue全家桶其他框架的使用&a…

EclipseLink MOXy作为JAXB提供者

EclipseLink MOXy是JAXB提供程序,并且是内置在JDK中的默认JAXB提供程序的引人注目的替代品。 首先是一个简单的测试,将Java对象编组为XML: 这是模型: XmlRootElement(nameMemberDetailsRequest, namespacehttp://bk.org/members…

monkeyrunner多点触摸

思路是:在屏幕上某个位置按着不放:device.touch(x,y,md.DOWN) 然后再做一个滑动的操作:device.drap((x1,y1),(x2,y2),0.2,10) 然后再松开按键:device.touch(x,y,md.UP) #codeing:utf-8 from com.android.monkeyrunner import Monk…

雅虎前端优化的35条军规

阅读目录 内容部分css部分js部分javascript, css 图片 cookie移动端 服务器摘要:无论是在工作中,还是在面试中,web前端性能的优化都是很重要的,那么我们进行优化需要从哪些方面入手呢?可以遵循雅虎的前端优化34条军规&…

stm32 内部sram大小_在SRAM、FLASH中调试代码的配置方法(附详细步骤)

聊天界面发送嵌入式大杂烩获取1TB大杂烩资料包STM32的FLASH擦写次数有限(大概为1万次),所以为了延长FLASH的使用时间,我们平时调试时可以选择在SRAM中进行硬件调试。除此之外,SRAM 存储器的写入速度比在内部 FLASH 中要快得多,所以…

Spring Profile模式示例

最近,我们介绍了Spring Profiles的概念。 此概念是针对不同部署环境的轻松配置区分符。 直接的用例(已提出)是对相关类进行注释,以便Spring根据活动的配置文件加载适当的类。 但是,这种方法可能并不总是适用于常见的…

Android 样式 (style) 和主题(theme)

转载:https://gold.xitu.io/post/58441c48c59e0d0056a30bc2 样式和主题 样式是指为 View 或窗口指定外观和格式的属性集合。样式可以指定高度、填充、字体颜色、字号、背景色等许多属性。 样式是在与指定布局的 XML 不同的 XML 资源中进行定义。 Android 中的样式与…

自定义控件_VIewPager显示多个Item

一直以来想搞明白这个不完全的VIewPager是怎么做到的&#xff0c;有幸看到这片篇文章 有二种实现方法 1.设置的属性 1.clipChildren属性 2.setPageMargin 3.更新Item外界面 2.重写getPageWidth public class MultiplePagerAdapter extends PagerAdapter { private List<I…

华为怎么改输入法皮肤_微信和QQ个性键盘皮肤

hello大家好&#xff0c;今天是2019年1月1号&#xff0c;祝大家新年快乐今天是新年的第一天&#xff0c;所以说给大家介绍一个好玩的&#xff0c;微信和QQ都能设置的个性的键盘皮肤&#xff0c;看下图&#xff0c;这样的个性的键盘主题怎么设置呢&#xff1f;其实很简单&#x…