【问题标题】:How to migrate spring 1.2.6 application to Spring boot ? Are there any migration tools for the same如何将 spring 1.2.6 应用程序迁移到 Spring boot ?是否有相同的迁移工具
【发布时间】:2019-04-10 22:37:26
【问题描述】:

我有一个使用 spring 1.2.6 的遗留应用程序。如何将其迁移到最新的 Spring Boot。是否有任何可用的迁移工具。

提前致谢。

【问题讨论】:

  • 这里已经回答过了 -> *.com/questions/31409231/…
  • 手动并采取婴儿步骤。我会先保持原样,然后升级到最新的 Spring 1.2.x 版本,然后升级到 2.0、2.5,直到你使用 Spring Boot 支持的版本,然后再引入 Spring Boot。这样你就可以一步一步地改变事情,而不必一次应对所有的巨大变化。 (嗯,也许我真的应该完成关于这个主题的博文)。

标签: spring spring-boot


【解决方案1】:

没有现成的升级指南,只有一些可靠的建议。

TL;博士;

  1. 小步走
    • 首次升级 Spring 1.2、2.0、2.5 等
  2. 当您拥有 Spring Boot 支持的 Spring 版本时,请使用该 Spring Boot 版本来管理您的依赖项
  3. 使用您现有的配置,让 Spring Boot 引导您的应用程序
  4. 迁移配置以使用 Spring Boot 自动配置功能

在每个步骤之后,验证您的应用程序仍然可以执行它应该执行的操作。通过手动验证它或通过创建一个好的测试工具(我已经希望它或多或少到位!)。

将 Spring 升级到 Spring Boot

您是 Spring 的一个相当旧的版本,但通常 Spring 是相当向后兼容的。另请记住,您有一个正在运行且正在工作的应用程序,并且您希望保持这种状态。

升级正在逐步进行。每次一个,然后在每一步之后验证您的应用程序是否仍然正常运行。

升级春季

首先升级到最新的 Spring 1.2.x 版本(应该很轻松),然后升级到下一个主要版本(2.0、2.5 等)。由于 Spring 放弃了对它的支持(如旧版本的 Hibernate、Velocity、Jackson 等),您可能还需要在升级 Spring 的同时升级支持库的版本。

使用 Spring Boot 管理依赖

当您在支持 Spring Boot 的版本上开始使用 Spring Boot 来管理您的依赖项时,这将大大清理您的 pom.xmlbuild.gradle。还要一直使用您当前的配置,不要尝试一次性将您的基于 XML 的配置迁移到基于 Java 的配置(再次婴儿步骤)。

使用 Spring Boot 启动应用程序,但保留您自己的配置

之后,使用您自己的配置(使用 @ImportResource)使用 Spring Boot 运行您的应用程序。请记住,您有一个正在运行和工作的应用程序/配置。

最后的步骤

然后您可以做两件事中的一件,要么继续升级到最新版本的 Spring Boot(同时保留现有配置),要么将您的配置(部分)迁移到基于 Java 的配置并利用 Spring Boot 自动配置特征。

注意: 2 年前,我对这个非常确切的主题做了a presentation,并一一采取了所有这些步骤。

【讨论】: