【发布时间】:2018-03-13 21:36:46
【问题描述】:
我已经使用 Spring 大约一年了,而且我使用它已经足够舒服了,但我大部分时间都避免跳到引擎盖下。
我的任务是将一个大型的关键任务企业应用程序从 Spring 3.0.x 升级到 Spring 4.1.x。
进行这样的大型、不可避免的挑剔和复杂更改的最佳做法是什么? (除'之外的任何内容都可以放入 jar 文件中,看看会发生什么' 和 '请阅读此处的文档:http://spring.io/' 会非常有帮助)
系统:
Java 6 - jax-b/-p/-ws/,Apache Commons,
Spring 3.0.5 - 常规(核心、上下文、bean 等)、MVC、AOP、ORM、JDBC、Acegi
休眠 3.5
Tomcat 6
0 单元测试或任何类型的自动化测试。
Maven 依赖管理和构建自动化。
一半控制器使用注释进行请求响应映射,一半使用 simpleFormController 模式,一半自动装配,一半与 xml 挂钩。
数百个视图,数十个控制器。
到目前为止我已采取的步骤:
准备了一个(大部分是自动化的)回归测试脚本(这样我就可以确保我没有破坏任何东西)
我已经开始一次阅读“升级指南”,“升级到 3.1”、“升级到 3.2”,并对听起来很熟悉的事情做笔记,但我认为我需要对我们的系统和整个弹簧有更深入的了解,然后我才能确信这是一种详尽的方法。这通常感觉像是一种随意的方法,对于如此复杂的变化,这不是我想要的。
我的问题:
对于此类工作,哪些步骤/程序被视为“最佳实践”?
对于这样的工作,你有什么“陷阱”吗?
【问题讨论】:
-
你想升级是为了升级运行时还是为了获得 4.x 的好处?
-
这是真正的问题:0 个单元测试或任何类型的自动化测试。
-
@axiopisty 是的!我在第一天就提出了建议,但交货时间和完全缺乏可见的用户利益意味着它一直被推到列表的底部。我决定暂时选择我的战斗,并且刚刚解决了足够的时间来编写自动回归测试脚本。
-
@bhantol 我的工作是让我们达到 4.0 的最低规格。以便更新的库/依赖项/功能等根据需要兼容。我们差点错过了让一个非常节省时间的新库工作。管理层终于看到了它对底线的影响,并给了最初级的团队成员几天的时间来完成它-_-
标签: java spring spring-mvc