【问题标题】:What are the disadvantages of Spring Boot for Java web applications? [closed]Spring Boot 对于 Java Web 应用程序有哪些缺点? [关闭]
【发布时间】:2016-12-02 15:33:45
【问题描述】:

[这需要投票才能重新回答。]

Spring boot 被认为是创建新 Spring 应用程序时的默认设置,因为它使设置更容易并自动连接常见的依赖项。

我还没有看到以广告方式使用弹簧靴的行业。

简而言之,在采用 Spring Boot 作为事实上的 Spring 走向时,开发人员面临哪些缺点?

Spring Boot question 的优点显示了我同意有很多优点,但相信应该有更全面的看法。

一个非基于意见的例子是:

  • Spring boot 可能会因未使用的依赖项而不必要地增加部署二进制文件的大小。

  • 无法轻松自定义日志记录,如 here 所示。

【问题讨论】:

  • 这不是应该在这里的问题,因为这是关于讨论的问题。但在我看来,有一个很大的优势和劣势。使用 Spring Boot,您不必配置很多东西。所以它更容易,但另一方面你正在失去控制。但对于微服务架构来说,它真的很酷;)
  • 我试图表达这一点,以不鼓励讨论,因为我链接的优势问题确实如此。那里的答案被认为是积极的,在这里我想看到简明的缺点而不是意见。

标签: java spring spring-boot microservices


【解决方案1】:

这是一个非常基于意见的问题,但我相信您可能遇到的最大缺点是使用它或 Spring,根本不了解它给您或您的项目带来了什么价值。它可能完全不符合您的要求,并且您可能会在某个时候自行配置所有内容。

让我在question 中评论您喜欢的要点。

  • 创建独立的 Spring 应用程序 => 你可以创建独立的 java 应用程序吗?为什么首先选择 Spring?
  • 直接嵌入 Tomcat、Jetty 或 Undertow(无需部署 WAR 文件)=> 如果您必须构建 war 怎么办?少量配置就可以解决问题,但这并不是什么主要优势。
  • 提供自以为是的“入门”POM 来简化您的 Maven 配置 => 如果您有许多遗留的 spring 模块怎么办?如果需要修补怎么办?
  • 尽可能自动配置 Spring => 如果此配置完全不符合您的要求怎么办?
  • 提供生产就绪功能,例如指标、健康检查和外部化配置 => 对您来说足够了吗?这是完全错误的,因为您需要更复杂的东西吗?没用,因为你根本不需要这个?

【讨论】:

  • 感谢您的提问,非常感谢 Grzegorz 的明确回答。我认为使用 JEE 方法,您绝对可以控制您的应用程序依赖项/我认为您不能使用 Spring。控制您的依赖关系意味着您可以控制您的应用程序。
  • 想补充一点,我在 2 个月前阅读了这篇文章,并决定使用 SpringBoot。经过 2 个月的努力,我们真的觉得它很棒,并且做了很多我们的小团队本来可以负担的事情。基本上,从尝试设想所有可能组合的经验丰富的开发人员的角度来看,您的答案可能是正确的。但是对于小型团队、新开发人员或需要快速构建应用程序的需求,我认为 SpringBoot 是一个了不起的选择。随着时间的推移将分享更多。希望这对某人有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-18
  • 2016-06-13
  • 2020-09-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多