我是一名高级Java开发人员,必须研究应用程序架构师选择的技术。 我最多只能表达对特定技术的看法,不能做出/影响技术选择的决定。 因此,在我的正式项目中,我别无选择从Spring迁移到JavaEE6或从JavaEE6迁移到Spring。

我坚信,作为Java开发人员,我必须保持(至少很少)最新技术的更新。 因此,我(许多Java开发人员)通常都会关注Java社区的网站或博客,以了解Java社区的最新情况。 具体来说,我确实会跟踪一些Java冠军或知名作家的最新消息,因为他们可能对Java领域的下一件大事有更好的了解。

几年前,我见过很多人谈论春天。 然后我开始学习Spring,但我仍然喜欢它。 我已经使用JavaEE5两年了,但是我没有发现Spring没有提供的任何功能。 但是最近,我每两天看到太多关于“从Spring迁移到JavaEE6”的文章。 因此,我想尝试一下,我安装了NetBeans7.1,Glassfish3.1,并做了一个简单的POC。 太好了,我仅用10分钟就可以编写一个简单的应用程序。
是的,JavaEE6在其前身上进行了很多改进。

但是,我再也没有看到Spring无法做到的任何新事物。
好的,让我分享我对“从Spring迁移到JavaEE6”文章作者选择的标准的看法。

1. WEB-INF / lib中有很多Jar

Spring应用程序在WEB-INF / lib中具有依赖关系,而JavaEE6应用程序在服务器lib中具有依赖关系。 即使对于Spring应用程序,我们也不需要手动下载所有这些Jar,我们可以使用Maven / Ivy,甚至可以从配置了所有依赖项的原型模板开始。 而且这是唯一的工作。 我不确定通过在服务器库中而不是WEB-INF / lib中使用jars可以提高性能。 如果是这种情况,我们可以将Spring应用程序依赖项放在服务器库中。

我在这里想念的是什么?

2.类型安全的依赖注入

从Spring 2.5开始,我们使用@Autowired提供了基于注释的DI支持,如果您仍然说Spring是基于XML的,请看一下Spring3.x。 如果您想给spring bean指定一个自定义名称(如果对同一接口有多个实现),则可以。 它与JavaEE6的CDI @Injext和@Named有何不同?

3.约定优于配置

EJB3方法默认情况下是事务性的,只需使用@Stateless对其进行拍击即可。 在Spring中,我们可以创建一个自定义StereoType,例如@TransactionalServe,例如@Service @Transactional public @interface TransactionalServe {},并且可以实现Convention over Configuration。

我在这里想念什么吗?

4. Spring依赖JavaEE

当然,Spring取决于JavaSE和JavaEE。 Spring只是使开发变得容易。 您始终可以通过更简单的方式在Spring中使用JavaEE API,例如JSF,JPA,JavaMail等。 有人说Spring完全消失了JavaEE吗? 没有。

5.基于标准,App Server支持,许可等等。

这些是开发人员没有太多(任何)控制的东西。 从开发人员的角度来看,我们喜欢使开发变得更容易的一切。 因此,我没有看到任何有效的理由将现有的Spring应用程序迁移到JavaEE6。 到现在为止,我还没有发现CDI可以做的事情和Spring不能做的事情。 对于仅进行依赖注入的新建项目,我们可能不需要Spring,因为我们已经在JavaEE6中内置了CDI。 JavaEE6是否解决以下任何问题:

1. 批处理 :几乎所有大企业都有一些批处理作业要运行。 JavaEE6是否支持实现它们。 您是否建议使用Spring Batch或在原始JavaEE6中从头开始。
2. 社交网络集成 :这些天来,Web应用程序与社交网络站点集成已成为非常普遍的要求。 同样,您在JavaEE6中拥有什么呢?
3. 环境配置文件:在Spring中,可以在“测试”配置文件中启用我的模拟服务,在“生产”配置文件中启用我的真实服务。 我知道@Alternative,但是我们可以在不使用基于String的注入的情况下配置两个以上的替代方法吗? 4. Web应用程序安全性: JavaEE6中Spring-security的对应部分是什么? 5.如何与NoSQL,Flex,移动开发等集成?

JavaEE6现在获得了CDI,因此Spring突然成为了遗产!

结论:是的,JavaEE6现在(很晚才有)很酷的东西,但是无论如何它不会取代Spring。 春天万岁。

参考: JavaEE6必须从Spring获得哪些附加功能? 我的JCG合作伙伴 Siva Reddy的“ 我的实验”博客上的内容。

翻译自: https://www.javacodegeeks.com/2012/04/what-additional-features-does-java-ee-6.html

从Spring起,Java EE 6必须具备哪些附加功能?相关推荐

  1. 从Spring开始,Java EE 6必须具备哪些附加功能?

    我是一名高级Java开发人员,必须研究应用程序架构师选择的技术. 我最多只能表达对特定技术的看法,不能做出/影响技术选择的决定. 因此,在我的正式项目中,我别无选择从Spring迁移到JavaEE6或 ...

  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. jpa root.join_JPA 2.1和Java EE 7中的JPQL增强功能(第1部分– JOIN ON)

    jpa root.join Java EE 7已经存在了几年,并且提供了一些非常有用且期待已久的功能,例如实体图以及对存储过程和结果映射的更好支持. 有关概述,请参阅Thorben Janssen的博 ...

  6. JPA 2.1和Java EE 7中的JPQL增强功能(第1部分– JOIN ON)

    Java EE 7已经存在了几年,它提供了一些非常有用且期待已久的功能,例如实体图以及对存储过程和结果映射的更好支持. 有关概述,请参阅Thorben Janssen的博客文章 . 但是,我想添加有关 ...

  7. 精通spring——深入java ee开发核心技术 pdf_2019精通Spring Boot 42讲 高清pdf完整版

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

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

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

  9. java ee架构_与Java EE和Spring的集成架构

    java ee架构 本周在纽约举行的O'Reilly软件体系结构大会将举行 . 我很高兴与Josh Long一起提供有关如何集成Java EE和Spring的教程. 一段时间以来,我们一直在开玩笑. ...

最新文章

  1. C#条件判断-根据条件判断要走的路-if结构
  2. python json模块有什么用_Python的json模块及使用
  3. 奇瑞汽车鸿蒙系统,华为鸿蒙OS系统汽车来了!国产汽车巨头奇瑞全球首发:开启崛起之路...
  4. 老罗锤子rom发布会的十五个猜想
  5. oracle索引机制
  6. 《统计学:从数据到结论》学习笔记(part2)--总体是人们所关心的所有个体的集合
  7. 前端学习(932):mouseenter和mouseover区别
  8. STM32利用库函数驱动OLED
  9. CocoaPods学习系列5——错误集锦
  10. 负载均衡SLB中开启会话保持并选择重写Cookie时的配置方法
  11. 弦论 —— 宇宙的琴弦
  12. topic:开发人员眼中的RIA,基于Flash实现
  13. 毕设论文-word格式问题
  14. 试题 算法提高 断案
  15. 一些个人电脑问题记录
  16. 使用topGO进行GO富集分析
  17. JavaWeb学习心得总结
  18. springboot集成Lean Cloud 及时通讯
  19. ESP8266作为arduino D1 wifi模块应用时引脚序号说明(与UNO对比异同)2.5.0版本开发板库
  20. MIT公开课18.06 Gilbert Strang 线性代数 笔记3 - 正定矩阵及其应用

热门文章

  1. 漫画:什么是SHA系列算法
  2. 如何改变Idea的背景
  3. 很简单很简单的DBHelper类
  4. android 监听安装来源_Flutter插件开发之APK自动安装
  5. 君威u0073故障码解决_顽疾修复过程,君威没倒挡的变速箱故障就是这样修好
  6. win10关闭快速启动_装系统不求人,快速制作启动U盘,傻瓜式重装WIN10
  7. 只读事务上下文_我可以/应该在事务上下文中使用并行流吗?
  8. 使用junit进行单元测试_使用JUnit对ADF应用程序进行单元测试
  9. jsap支付_Java命令行界面(第20部分):JSAP
  10. oauth 使用令牌_使用OAuth2令牌的安全REST服务