java - 从 Spring 4 迁移到 Spring 5 的困难
问题描述
计划将 Spring 4 项目迁移到 Spring 5。
我浏览了 spring 5 的特性,它有一些有趣的特性,比如 Webflux 、反应式编程......这可能会提高我的应用程序的性能。
我不确定迁移会有多困难。
Reg 项目复杂性: 1)更复杂的项目,有更多的 API 暴露和消耗。2) 与 Cassandra DB 连接。3)项目的规模有点大。
任何有关迁移困难的建议将不胜感激。
解决方案
如果你想从 Spring 4 迁移到 5 并开始使用 Spring Webflux 等特性,基本上你将不得不重写大部分代码。
您可以选择继续使用现有的注释或使用路由器功能(在我看来,与传统的注释方法相比,这太复杂了,不会给您太大的灵活性)。
您还必须更改从MyCustomClass
toMono<MyCustomClass>
和 from Collection<MyCustomClass>
to返回一个对象的所有接口Flux<MyCustomClass>
。您的数据库可能不是关系数据库,因为所有现有驱动程序都在阻塞。为了获得最大的 WebFlux,您需要使用反应式数据库。
一般来说,你最好重写你的应用程序而不是迁移到 WebFlux。
你真的需要迁移吗?您是否遇到性能问题?如果当前的应用程序没有遇到任何问题,您可以考虑在 WebFlux 中创建新的应用程序。
看看 Josh Long 的这篇文章。也许你根本不需要 WebFlux。
总的来说,我是 Spring 的忠实粉丝,但是使用 WebFlux 并不容易,并且会有一些陡峭的学习曲线。
推荐阅读
- python - 如何使用 conda 环境的 GCC 7.5.0?
- typescript - 有没有办法使用 TS 扩展来影响运行时?
- c++ - 在函数参数列表中前向声明的类型如何在函数范围之外可见?
- ios - 防止 MTKView 摄像头旋转,但允许其他屏幕上的 VC 旋转
- swift - 我想减少基本相同的方法中的代码并传递参数但不知道从哪里开始?
- extract - 根据单个值/单元格的总计数/百分比提取数据行
- class - 尝试使用类模块来格式化用户表单文本框并调用另一个过程。第一个字符后触发类更改事件
- c# - 调试时出现错误时如何阻止 Visual Studio 2019 保存整个解决方案?
- google-apps-script - 为 Google Apps 脚本配置 SPF/DKIM/DMARC
- python - 如何将我的 pymysql 查询结果转换为 json 格式?