Spring 有一个名为 spring IO http://platform.spring.io/platform/的新项目,目前尚不清楚该项目与 Spring Boot 之间的区别。
我已经是 Spring Boot 用户,但不知道我应该使用 SpringIO 还是继续使用 Spring Boot。
如果我只唱 Spring Boot 并忽略 Spring IO,我会错过什么吗?
我已通读 Spring IO 的文档,但上述问题的答案仍不清楚。
Spring 有一个名为 spring IO http://platform.spring.io/platform/的新项目,目前尚不清楚该项目与 Spring Boot 之间的区别。
我已经是 Spring Boot 用户,但不知道我应该使用 SpringIO 还是继续使用 Spring Boot。
如果我只唱 Spring Boot 并忽略 Spring IO,我会错过什么吗?
我已通读 Spring IO 的文档,但上述问题的答案仍不清楚。
Spring IO 提供了一个由 Spring Boot starter-dependencies 管理的依赖的超集。Spring IO 级别设置了各个 Spring 项目之间的依赖关系,但没有额外的运行时要求。从这个意义上说,它不是一个项目,而是非常方便的依赖管理解决方案。
Spring IO 是一个逻辑结构——您可以将各个部分视为这个更大的托管平台的一部分。当然,这并不要求您使用所有的库。请查看公告博客了解更多详情。
如果您想使用 Spring Boot 启动器依赖项,则没有理由进行更改。如果您正在使用其他 Spring 项目,没有 Spring Boot 启动器依赖项的好处,那么 Spring IO 平台是为您量身定制的。
Spring boot 为您提供many dependency-set to enable features
,它会include dependencies (properly) in your classpath
的。另一方面,Spring IO 根本不为您提供it can only help you to manage your dependencies
任何依赖项(例如管理您的依赖项版本),如果您需要任何依赖项或依赖项集(例如通过 Spring Boot),您需要自己手动添加它们。
Pilar Argudo 在 DZone 上有一篇关于这种关系的有趣文章。以下是这篇文章的结论:
- Spring IO Platforms 允许您管理依赖项,而无需担心它们之间的版本和兼容性。
- Spring Boot 使用预定义的属性、注释和启动器作为依赖项,使 Spring 应用程序配置变得容易。
- Spring IO Platform 包含 Spring Boot 作为父级。这就是原因,因为 Spring IO Platform 包含所有 Spring Boot 依赖项和启动器。
- 如果您想同时使用 Spring IO Platform 和 Spring Boot,请使用 Spring IO Platform 作为父级。
更新
请注意,Spring IO 将结束生命。从项目主页:
该平台的支持生命周期将于 2019 年 4 月 9 日结束。布鲁塞尔和开罗线的维护版本将在此之前继续发布。鼓励平台的用户开始使用 Spring Boot 的依赖管理目录,或者通过使用 spring-boot-starter-parent 作为他们的 Maven 项目的父级,或者通过导入 spring-boot-dependencies bom。
Spring IO Platform 定义了一组依赖项(Spring Framework 依赖项都是第三方库),这些依赖项可以包含在 Java 项目中,以允许您选择必要的依赖项,而不必担心它们的版本之间的兼容性。而 spring boot则不同,因为它是一个让Spring应用的开发和配置变得简单的框架。以下是可以使用 Java 注释和启动器包含的预定义属性和配置类的列表。