为什么我从Spring转向JavaEE?
来源:互联网 发布:剑灵龙男大叔捏脸数据 编辑:程序博客网 时间:2024/04/29 22:41
就在最近,在我在基辅共和国基督教基金会的一次会议之后,我被一位与会者询问了我使用Java EE的原因。在会上,我提到过去,我也是Spring的深度用户。 实际上,我一直喜欢Spring中的编程,而且我喜欢使用注释的声明式编程模型,而且技术发展非常快。
我在现实世界的项目中使用了Spring 4版本,而且我们总是尝试使用最新的方法,比如@RestControllers或者基于Java的配置。 除了Spring提供了很好的开发经验,我也不喜欢几件事情:
- 需要很多配置(XML,然后是基于Java的配置,数据库设置/事务管理器),必须经常更改。
- 更长的构建时间(实施在部署工件中发货) - 我们大多在Servlet容器上部署了一场胖战。
- 在更新版本时,并不总是向后兼容(或与其他具有不同生命周期的Spring组件(如Spring Security)完全兼容)。
除了Spring之外,我还使用了大量的Java EE,具体取决于项目。
我特别喜欢Java EE是由CDI提供的强大的依赖注入,以及EE框架内的技术可以立即使用的事实,如Bean验证和CDI。
那个和微型war包的快速构建,使我认为Java EE是越来越多情况下的有利选择。
真正让我感到兴奋的是Java EE 7可以与Java 8一起使用而没有任何其他(技术上推理的)依赖性。随着会议配置和简单匹配 - 您喜欢的方法,它提供了一个高效的,我认为,真正愉快的开发人员体验。
所以,截至今天,我赞成Java EE作为企业框架的主要原因 - 它始终取决于项目和用例
- 不间断地使用不同的规格。
- 零到最小配置,约定配置方法。
- CDI强大灵活的编程模式。
- 将业务代码与框架实现分离(另见博客文章)。
- 很短的构建,传输和部署时间是可能的。
- 向后兼容(对于长期的企业项目来说,这是特别有趣的),更新版本时并不意外。
结论 :
一如以往,技术的选择取决于您要实现的目标,以及您和您的同事对该技术的熟悉程度。问题不在于A比B好还是坏,而是强项和弱点是什么,何时应用它们。 无论是使用Spring还是Java EE,一般来说,建议您使用纯粹的技术栈,千万不要混合在一起。在我看来,在EE应用程序服务器上部署Spring或在Spring技术栈中使用Java EE特定技术并不是很有意义,Spring 技术栈已分别由另一个Spring特定的组件覆盖
注:作者是Sebastian Daschner是一名Java自由职业者,担任顾问/软件开发人员/架构师,热衷于编程和Java(EE)。他是一个JCP成员,参与JSR流程,并对Github上的各种开源项目进行黑客攻击。他一直在与Java合作超过5年。除了Java,Sebastian也是Linux和Docker这样的容器技术的重要用户。他通过https://blog.sebastian-daschner.com和Twitter通过@DaschnerS传播计算机科学实践。
- 为什么我从Spring转向JavaEE?
- 我为什么从.NET转向Java
- 我为什么从python转向go语言
- 为什么我从Eclipse转向了IntelliJ
- 我为什么从 Python 转向 Go?
- 我为什么从Angular转向React?
- 为什么我要从 Angular 转向 React
- 我为什么从SVN转向GIT
- 为什么微处理器要从单核转向多核?
- 为什么微处理器要从单核转向多核
- 为什么微处理器要从单核转向多核?
- 我由Angular转向React,为什么?
- 我由Angular转向React,为什么
- 为什么我选择使用Spring
- 为什么我改用Spring boot
- JavaEE-Spring
- 从双系统转向虚拟机
- 从Fedora转向Kbuntu
- 需求分析复习思考题:第二章 《软件需求工程及其过程》思考题
- 1295: [SCOI2009]最长距离
- 2017-7-26
- 【ECSHOP】在任意页面调用商品属性的方法
- Cuda 学习教程三:CUDA硬件架构
- 为什么我从Spring转向JavaEE?
- css requestAnimationFrame
- 图片水平垂直居中对齐的四种做法
- 欢迎使用CSDN-markdown编辑器
- 写高质量OC代码52建议总结:46.不要使用dispatch_get_current_queue
- 关于JNA调用32位和64位动态链接库,即*.dll
- 01背包问题的C/C++实现
- 个人博客
- NDK开发学习之C学习基础篇-1(指针,数组于指针,指针和函数参数,二级指针)