草庐IT

Spring 3.0 与 Java EE 6.0

coder 2023-05-10 原文

我遇到了一个情况……

有人要求我就 Spring 3.0 和 Java EE 6.0 之间的 Java EE 开发提供有关采用哪种方法的建议。我曾经是,现在仍然是 Spring 2.5 的插入者,而不是经典的 Java EE 5 开发,特别是 JBoss,我什至将旧应用程序迁移到 Spring,并影响了这里对开发策略的重新定义,以包括 Spring 特定的 API,并帮助制定战略计划以培养更轻量级的解决方案,如 Spring + Tomcat,而不是更重的 JBoss,现在,我们仅将 JBoss 用作 Web 容器,我称之为“容器内的容器悖论”,也就是说,拥有大部分 API 的 Spring 应用程序都在 JBoss 中运行,所以我们正在迁移到 tomcat。

然而,随着 Java EE 6.0 的到来,许多特性让 Spring 在当时很有吸引力,易于部署、耦合更少,甚至是某种 D.I 等,似乎都以某种方式被模仿了. JSF 2.0、JPA 2.0、WebBeans、WebProfiles 等。

那么问题来了……

在您看来,鉴于 Java EE 6.0 提供的新视角,继续投资像 Spring 这样的非标准 Java EE 开发框架有多安全和合乎逻辑?

我们能否谈谈 3 或 4 年的 Spring 开发,或者您是否建议尽早采用 Java EE 6.0 API 及其实践?

我将不胜感激。

最佳答案

恕我直言,关键点不是功能之一。在这方面,Spring 将始终领先于 JavaEE,因为它对于 OpenSource VS 来说是很自然的。一个标准。所以一个事实是,Spring 比 JavaEE 更早地获得了新特性(例如,容器集成测试是 JavaEE 6 中的一项新特性,并且在 Spring 中已经存在很长时间了)。

恕我直言,最重要的一点是管理和开发的生命周期之一。当您选择 JavaEE 时,您将编程模型绑定(bind)到您的基础架构。通常应用服务器供应商并不是最快采用新标准版本的(怪罪 WebSphere、JBoss,你有什么)。所以这意味着我们可能不会在今年年底之前看到大型供应商的生产就绪、支持 JavaEE 6 的产品。

即使是这种情况,您仍然需要克服您的管理、IT 部门和预算控制经理的障碍,才能愿意升级到这个 Shiny 的新版本。从这方面来看,JavaEE 6 甚至不是许多商店的选择。您可以选择将您的应用程序部署到什么位置?您想选择 Glassfish 进行生产吗?来吧,试试。大多数商店都没有这种“舒适”的环境。

恰恰相反: Spring 。将编程模型与基础架构分离。使用当前的 3.0.x 并在您的 Tomcat 或旧版应用程序服务器中使用 @Inject、JPA 2 等。

关于Spring 3.0 与 Java EE 6.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2822812/

有关Spring 3.0 与 Java EE 6.0的更多相关文章

  1. ruby-on-rails - 带 Spring 锁的 Rails 4 控制台 - 2

    我正在使用Ruby2.1.1和Rails4.1.0.rc1。当执行railsc时,它被锁定了。使用Ctrl-C停止,我得到以下错误日志:~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`gets':Interruptfrom~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`verify_server_version'from~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.

  2. spring.profiles.active和spring.profiles.include的使用及区别说明 - 2

    转自:spring.profiles.active和spring.profiles.include的使用及区别说明下文笔者讲述spring.profiles.active和spring.profiles.include的区别简介说明,如下所示我们都知道,在日常开发中,开发|测试|生产环境都拥有不同的配置信息如:jdbc地址、ip、端口等此时为了避免每次都修改全部信息,我们则可以采用以上的属性处理此类异常spring.profiles.active属性例:配置文件,可使用以下方式定义application-${profile}.properties开发环境配置文件:application-dev

  3. ruby-on-rails - Spring 不起作用。 [未初始化常量 Spring::SID::DL] - 2

    我无法运行Spring。这是错误日志。myid-no-MacBook-Pro:myid$spring/Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/sid.rb:17:in`fiddle_func':uninitializedconstantSpring::SID::DL(NameError)from/Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/li

  4. 【云原生】SpringCloud-Spring Boot Starter使用测试 - 2

    目录SpringBootStarter是什么?以前传统的做法使用SpringBootStarter之后starter的理念:starter的实现: 创建SpringBootStarter步骤在idea新建一个starter项目、直接执行下一步即可生成项目。 在xml中加入如下配置文件:创建proterties类来保存配置信息创建业务类:创建AutoConfiguration测试如下:SpringBootStarter是什么? SpringBootStarter是在SpringBoot组件中被提出来的一种概念、简化了很多烦琐的配置、通过引入各种SpringBootStarter包可以快速搭建出一

  5. Spring Boot集成ElasticSearach - 2

    文章目录前言一、Elasticsearch版本介绍二、客户端种类三、客户端与版本兼容性四、引入Elasticsearch依赖包五、客户端配置六、Elasticsearch使用前言ElasticSearch是Elastic公司出品的一款功能强大的搜索引擎,被广泛的应用于各大IT公司,它的代码位于https://github.com/elastic/elasticsearch,目前是一个开源项目。ElasticSearch公司的另外两个开源产品Logstash、Kibana与ElasticSearch构成了著名的ELK技术栈。。他们三个共同形成了一个强大的生态圈。简单地说,Logstash负责数据

  6. 【JAVAEE】JAVA数据库连接(JDBC) - 2

    1.什么是JDBC?Java数据库连接,(JavaDatabaseConnectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是SunMicrosystems的商标。我们通常说的JDBC是面向关系型数据库的。简而言之,JDBC就是JDK提供的关于数据库操作的一套接口规范,不同数据库厂商来负责实现这个接口,完成指定的操作。用程序和数据建立连接,分为三步骤:1.连接数据库2.执行SQL语句3.把查询到的结果集转换成JAVA对象2.对于MySQL的JDBC编程的前期准备工作知识拓展:JAR文件(Java归

  7. Spring Security 6.0系列【32】授权服务器篇之默认过滤器 - 2

    有道无术,术尚可求,有术无道,止于术。本系列SpringBoot版本3.0.4本系列SpringSecurity版本6.0.2本系列SpringAuthorizationServer版本1.0.2源码地址:https://gitee.com/pearl-organization/study-spring-security-demo文章目录前言1.OAuth2AuthorizationServerMetadataEndpointFilter2.OAuth2AuthorizationEndpointFilter3.OidcProviderConfigurationEndpointFilter4.N

  8. IDEA 2022 创建 Spring Boot 项目详解 - 2

    如何用IDEA2022创建并初始化一个SpringBoot项目?目录如何用IDEA2022创建并初始化一个SpringBoot项目?0. 环境说明1.  创建SpringBoot项目 2.编写初始化代码0. 环境说明IDEA2022.3.1JDK1.8SpringBoot1.  创建SpringBoot项目        打开IDEA,选择NewProject创建项目。        填写项目名称、项目构建方式、jdk版本,按需要修改项目文件路径等信息。        选择springboot版本以及需要的包,此处只选择了springweb。        此处需特别注意,若你使用的是jdk1

  9. ruby-on-rails - 您已经激活了 spring 1.3.6,但是您的 Gemfile 需要 spring 1.3.3。 ( gem ::加载错误) - 2

    我今天遇到了同样的问题,有一个建议:在您的命令前添加bundleexec可能会解决此问题。前置bundleexec没有帮助(我已经这样做了)。springstop和springrestart没有帮助。我需要做的:bundleupdatespring这对我有用。在之前的gemlock文件中使用spring版本是否有更好的解决方案? 最佳答案 我删除gemfile.lock并运行bundle通常会清除一切。否则只需从Gemfile中删除gem"spring"并运行bundle 关于ruby-

  10. Spring Boot中的微信支付(小程序) - 2

    前言微信支付是企业级项目中经常使用到的功能,作为后端开发人员,完整地掌握该技术是十分有必要的。一、申请流程和步骤图1-1注册微信支付账号获取微信小程序APPID获取微信商家的商户ID获取微信商家的API私钥配置微信支付回调地址绑定微信小程序和微信支付的关系搭建SpringBoot工程编写后台支付接口发布部署接口服务项目使用微信小程序或者UniAPP调用微信支付功能支付接口的封装配置jwt或者openid的token派发原生微信小程序完成支付对接二、注册商家2.1商户平台商家或者企业想要通过微信支付来进行商品的销售,必须先通过微信平台(pay.weixin.qq.com)去将商家进行注册。注册成

随机推荐