【问题标题】:Advantage of Spring Boot [closed]Spring Boot的优势[关闭]
【发布时间】:2015-05-04 02:02:31
【问题描述】:

我一直在尝试了解 Spring Boot,并可能将我的项目迁移到它。但是,除了嵌入式 Tomcat,我没有得到它的真正优势。您能否向我解释一下 Spring Boot 与常规 Spring 相比的真正强大之处是什么?

【问题讨论】:

  • 很多人对这个问题感兴趣,并且很多人决定关闭这个问题,因为它是基于意见的。说了很多关于stackoverflow的内容
  • 鉴于问题已结束,我想在 2 年后加上我的 2 美分,因为我一直在观察一些支持。目前,spring boot 的主要优势在于它如何适应基于容器的部署,这基本上是为每个新的基础设施完成的。如果没有 spring-boot,很难在基于 docker 的容器中使用 spring。

标签: spring spring-boot


【解决方案1】:

引用Spring Boot Page,具有以下特点:

  1. 创建独立的 Spring 应用程序
  2. 直接嵌入 Tomcat、Jetty 或 Undertow(无需部署 WAR 文件)
  3. 提供自以为是的“入门”POM 以简化您的 Maven 配置
  4. 尽可能自动配置 Spring
  5. 提供生产就绪功能,例如指标、运行状况检查和外部化配置
  6. 绝对无需代码生成无需 XML 配置

【讨论】:

  • “不需要 XML 配置”部分真的是 spring-boot 特有的吗?不使用spring-boot就可以通过java配置类来配置所有东西吗?
  • @kgautron 不,可以使用基于 Java 的配置而不使用 spring-boot。
  • 弹簧靴/弹簧是双刃剑。主要取决于从事该项目的开发人员的类型。因为 Spring 功能丰富;它很快就会在草率的开发人员面前失控。您需要更严格地控​​制应将哪些功能用于什么目的,否则您最终将获得大量应用。总体而言,Spring 不再是轻量级的,每个版本都会添加大量功能,如果这些功能只是为了使用而被拖入,应用程序将不再可维护,很难快速进行更改
【解决方案2】:

最大的优势是开箱即用的配置基于它找到的内容和嵌入的服务器(你可以让一个 jar 运行它并转到localhost:8080 以查看结果)除了它还有metricshealth checksexternalised configuration

在我看来是构建云微服务的完美工具

【讨论】:

    【解决方案3】:

    使用配置/jar 依赖项中包含的默认值进行引导,是 Spring 引导的真正优势!快速完成任务!

    它只是 Spring 框架的另一个项目,看起来很简单,对安全、数据、社交等应用程序所需的所有功能都有强大的支持。

    如果你喜欢注解而不是像我这样的 XML 配置,你可以使用 @Configuration 进行配置, @ComponentScan 用于依赖注入, 和 @EnableAutoConfiguration 告诉 spring 猜测默认值 并一起工作。 @SpringBootApplication 注解等价于使用 @Configuration, @EnableAutoConfiguration, 和@ComponentScan 与他们的默认属性。 所以事情进一步简化了,一个注释完成了 3 的工作。

    【讨论】:

      【解决方案4】:

      通过大量有用的默认值,从无到有非常容易。

      如果您想迁移一些现有的项目,这很可能会产生很多难以迁移的怪癖,这并不容易。

      【讨论】:

        【解决方案5】:

        SpringBoot的优势:

        • 无需创建样板配置
        • 大量 SpringBoot Starter 快速启动和运行
        • 在代码/配置更新时自动重启服务器的 DevTools
        • 嵌入式 Tomcat/Jetty/Undertow 支持
        • 更轻松地自定义应用程序属性
        • 轻松管理配置文件特定属性
        • 使用 platform-b​​om 更轻松地进行依赖管理

        以下是我的几篇关于 SpringBoot 的优点以及 SpringBoot 工作原理的文章。

        Why SpringBoot?

        How SpringBoot AutoConfiguration magic works?

        【讨论】:

          【解决方案6】:

          最重要的是 Spring Boot 与微服务的概念保持一致,可以从任何地方的容器运行,例如云。这可能是因为 springboot 的以下性质

          • 占地面积小
          • 独立服务
          • 更容易从容器中启动,每个服务都可以在自己的容器中(如 docker)
          • 完全可以通过脚本轻松配置和部署。适合在云中自动扩展和部署。

          【讨论】:

            【解决方案7】:

            在主动开发中,spring boot 的优点是不用复杂的xml文件配置。

            1.Embedded tomcat丢弃web.xml配置;

            2.spring-boot security 丢弃applicationcontext-security.xml配置;

            3.spring-boot webservice丢弃applicationcontext-ws.xml配置;

            4.spring-boot mvc丢弃applicationcontext.xml配置;

            5.spring-boot datasource(Relational Database and nosql Database)丢弃applicationcontext.xml配置,即使有多个datasource。

            丢弃这个配置文件,方便我们的开发,提高效率。

            【讨论】:

              猜你喜欢
              • 2019-09-26
              • 1970-01-01
              • 2018-12-23
              • 2019-02-16
              • 2018-01-07
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2018-07-30
              相关资源
              最近更新 更多