将大规模,结构不良的Java系统迁移到Spring应用程序框架

时间:2015-03-22 20:18:54

标签: java spring architecture migration

我正在寻找有关迁移Java系统的开发故事/经验 到Spring Application Framework。我们的目标是bean容器的好处和Spring的依赖注入。我们当时并没有考虑Spring MVC或其他任何特定组件。

我们的系统目前不使用任何类型的豆容器。一切都在纯Java中 - 没有任何JEE。

它有自己的内置服务引擎来管理Db服务, 内存缓存,会话mngt,配置和某些特定于产品的组件。 更重要的是,它的结构很差。封装非常糟糕 - 需要大量的重构, 消除重复和未使用的代码,修复错误。 我们的大量开发工作正在进行修复,而不是结构化 - 制造它 甚至进一步恶化。它是一个拥有10年历史的系统,围绕其原始架构而建。

我们甚至不确定是否首先处理其现有结构 然后期待获得Spring的好处, 或者同时做两件事。

对我来说,在Spring上从头开始实现一个新架构,它实现了逻辑,而不是结构 目前的制度是最好的。然而,这可能/不可行,因为它不会取得实际成果 高层管理人员的未来充足。

我会欣赏直接/间接参考意见,经验和其他意见。

TIA。

// =====================================

编辑:

所以 - 在一个短语中,这是" 如何将恐龙迁移到Spring "。这是一个战略问题 - 不是技术迁移,而是如何/在何处 组织/定义/整合特定组件。

2 个答案:

答案 0 :(得分:2)

我首先要创建一个......的迁移计划。

  • 将尽可能多的遗留Java类/函数转换为bean格式。
  • 使用内置Spring库(例如数据库访问,安全性等)交换遗留代码和/或使用旧版接口封装Spring库以迁移遗留代码
  • 设计一种同时运行遗留系统和新系统的方法,同时将元素从遗留系统缓慢转换到新系统

答案 1 :(得分:0)

首先,请参阅this文章。如果满足服务器迁移的要求,请继续。如果您不这么认为,请放弃您的计划。

如果您认为只需更换系统内部的某些部件而不需要更换整个系统,则需要考虑该优势是否会超过成本。有一条指导说明“如果有效,请勿更改”,因为对现有代码的任何更改都会增加出错的风险。你确定Spring会带来你想到的所有好处吗?此外,为降低风险而开展的测试数量也很高。

除此之外,如果您仍然坚持需要进行迁移而无需支付任何费用,我建议您在保留原有系统的同时重建与旧系统分离的新系统。然后,您需要部分地在同一数据库下实现新系统,而不是完全截止。