我是一名高级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中使用JEE,JPA,JavaMail等JavaEE API。 有人说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. 如何成为android开发工程师,android开发工程师薪资 如何成为一名合格的android开发工程师?...
  2. 静态路由与动态路由概念及实例
  3. Atititi tesseract使用总结
  4. django 笔记3
  5. 【MySQL】5.7新特性之四
  6. 三种定位+堆叠+li小黑点变图片
  7. 解决网页中一直点击出现蓝色背景问题
  8. K8S重启后coredns pod无法正常运行
  9. python鸢尾花数据集_鸢尾花经典机器学习分类Python实现案例
  10. Apache2 Windows安装与HTTP Server Digest 认证
  11. .NET报错:所生成项目的处理器框架“MSIL”与引用“xxx”的处理器架构“AMD64”不匹配
  12. Yolo-v4的CSPNet(Cross Stage Partial Network)
  13. html添加用户与删除吗,HTML页面元素的添加与删除
  14. 绕任意向量旋转分解到坐标系旋转
  15. 序列号生成buge修改---超时问题,999溢出异常
  16. HC-SR04超声波模块传感器
  17. 面向对象编程思维(软件工程)
  18. 推荐考察系统“双管齐下”,提高考察工作效率
  19. NG Toolset开发笔记--5GNR Resource Grid(21)
  20. iOS的影片播放 MediaPlayer 和 AVPlayer

热门文章

  1. Centos7-通过RPM方式安装MySQL5.7
  2. layui绑定json_JSON绑定:概述系列
  3. javaone_代理的JavaOne 2016观察
  4. eclipse clean_Clean Sheet – Windows 10的人体工程学Eclipse主题
  5. react api_使用React流API将Akka流与rxJava结合在一起
  6. java se 导原码_Java SE 8新功能导览:Java开发世界中的重大变化
  7. jersey客户端_项目学生:带有Jersey的Web服务客户端
  8. perl大骆驼和小骆驼_骆驼路线的主/从故障转移
  9. lambda java_Java Lambdas简介
  10. 使用Java Stream摘要统计