Can';我们不能将spring用于分布式java应用程序吗?

Can';我们不能将spring用于分布式java应用程序吗?,java,spring,jakarta-ee,Java,Spring,Jakarta Ee,这是一个采访问题 面试官问我是否可以将spring用于所有目的,而不使用任何JavaEE框架 我说是的,但他问我应用程序是否是分布式的,应用服务器的意义是什么 我不确定答案 Spring做了JavaEE框架所做的一切吗?我不这么认为。基本上,Spring是关于Java EE框架之间的集成。嗯,Spring很广泛。所以你可以逐点复习。我不是JavaEE方面的专家,但我相信Spring可以涵盖很多(如果不是全部的话)JavaEE关注点。我确信Spring可以处理应用程序中的大多数层/关注点 首先,春

这是一个采访问题

面试官问我是否可以将spring用于所有目的,而不使用任何JavaEE框架

我说是的,但他问我应用程序是否是分布式的,应用服务器的意义是什么

我不确定答案


Spring做了JavaEE框架所做的一切吗?

我不这么认为。基本上,Spring是关于Java EE框架之间的集成。

嗯,Spring很广泛。所以你可以逐点复习。我不是JavaEE方面的专家,但我相信Spring可以涵盖很多(如果不是全部的话)JavaEE关注点。我确信Spring可以处理应用程序中的大多数层/关注点

首先,春季国际奥委会。您可以使用Spring IOC配置对象图。它有助于在任何层配置实现层所需的所有组件

SpringMVCWeb:您可以配置一个MVCWeb组件来处理和服务所有Web应用程序请求。我想你可以用它做些很酷的东西。配置web响应及其与其他业务元素(包括IPC-进程间通信)的必要配置

春季安全是Acegi的传统。它是一个web框架,用于定义对web资源的角色定义访问

我不确定海森是否也是斯普林的。无论如何,它是轻量级的,并且有助于与其他流程(如RMI)中的组件进行通信

嗯。。。我不确定持久性,但我认为Spring有JDBC、Hibernate和所有的模板,所以它无论如何都会有所帮助(正如建议所示:JmsTemplate和RestTemplate可用于与其他业务组件的通信!)

这里的核心思想是:你可以从头开始制作一个应用程序,因此在所有情况下,Spring都可以提供一个框架来缓解每一层上的困难/重复任务。是春天吗?对


请检查其他功能,看看Spring是否有适合它的功能。我敢打赌。

在我看来,Spring的主要好处是它取消了JavaEE框架中一些更重的组件(实体bean、会话bean),并用一个轻量级的替代品取代它们

在我看来,Spring的主要好处之一是它将许多组件解耦,然后使用XML或注释将它们连接在一起。这使得编写单元测试变得很容易(通过注入模拟组件而不是真实组件),这在使用重量级JavaEE组件时是不容易做到的(不容易对EJB2.1实体bean进行单元测试)

许多Spring概念已经进入Java EE标准,因此我认为Java EE不再是一个重量级的选项,Spring将使用Java EE组件,如应用服务器管理的连接池(通过JNDI)、事务管理器、,队列管理器可以非常轻松地使用应用服务器进行管理,该应用服务器可以提供其他功能,如群集、故障切换、负载平衡、服务web资源


话虽如此,Spring(VMWare)背后的人有他们自己的应用服务器(),它基于ApacheTomcat,提供了Spring使用的许多胶水,但没有一些传统的应用服务器(Websphere、Weblogic)那么重。

是的,Spring可以在没有Java EE的分布式应用程序中使用。我们使用它在一个XA事务中向MQ发送消息并更新数据库

根据本文,Spring完全可以在分布式应用程序中单独使用


从历史上看,(5年前?)Spring在分布式应用程序领域,尤其是数据库集群领域表现不佳。这不再是一个问题。我想说的是,Spring在分布式计算方面走得更远,因为他们正在大力追求Java EE尚未接触到的云技术。

从本质上讲,Java EE是一组规范(其中一些规范由Spring团队提供!)

Spring的使命是“简化Java开发”

它使用以下技术来实现这一点:

  • POJO->简化测试
  • DI->促进松耦合
  • AOP->促进关注点分离、可维护性等
  • Templates->提供了一个标准的编程模型,为您完成繁重的工作
  • Spring和JavaEE没有“Vs”关系

    使用上述技术,Spring框架可以让您更高效地构建(JavaEE)基于标准的应用程序

    >Does spring do everything that the Java EE framework does ?
    
    根据我上面所说的,这个问题可以重新表述为“Spring是否支持/实现了所有构成JavaEE规范的技术?” 没有,但它确实做了它开始要做的事情,那就是简化大多数JavaEE技术的开发

    这就是说,简化Java开发的代价是,您现在需要掌握大量的(Spring框架)知识。。。(附带练习和谷歌:))


    当然可以。对于大多数可能的用例,Spring有大量的导出器/FactoryBean和客户机(模板)。

    为此使用Spring inegration框架

    使用Akka framwork管理具有spring集成的分布式应用程序

    Akka使用Actor模型和软件事务内存来提高抽象级别,并提供更好的平台来构建正确的并发和可扩展应用程序

    看一看分步教程,它提供了有关如何使用Akka框架构建分布式应用程序的更多信息


    通常,分布式应用程序是使用Java RMI在Java中构建的,Java RMI在内部使用Java的内置序列化在节点之间传递对象。

    它还具有用于消息队列的JmsTemplate。信息技术
    >Can't we use Spring for distributed java applications?