java - 调整独立应用程序以使用 Spring

标签 java spring swing

我已经了解了如何在独立应用程序中使用 Spring,但我不确定应该采用什么方法来重构 120,000 行的大型代码库,以使更改尽可能渐进。

据我了解,Spring 不会在对象中注入(inject)任何内容,除非该对象由应用程序上下文管理。如果这是真的,我想我有两个选择: 1-从主类开始向下重构,但这意味着复杂的场景很快就会出现。 2- 静态共享应用程序上下文,以便我可以开始重构最简单的事情,并在准备好时逐步增加难度。

我不喜欢静态访问,所以我会尽量避免这种选择,但我不知道从启动时加载的大型类开始是否是一个好主意。有什么最佳方法的想法吗?

顺便问一下,在我修复依赖关系之前注入(inject) Swing 组件可以吗?

最佳答案

我认为,在进行如此重大的技术变革之前,最好先问问自己,当您从一开始使用 Spring 时,您是否遵循 Spring 指导您采用的架构。 因此,您的应用程序是否基于 MVC pattern

  • 如果没有,也许您的产品还没有准备好重构 使用Spring。在这种情况下,我建议重构产品 首先进行设计,使其符合MVC架构模式。
  • 如果是,那么我将继续采用基于用例的方法,从 从需要复杂设计的用例中 实现。

例如我会寻找非常重要的实体类或包含大量逻辑的业务类。通过这种方式,您可以降低在意识到 Spring 不太适合您的产品核心之前进行大量重构的风险。 确定最关键的用例后,您可以通过在单个关键场景(用户输入 - 业务逻辑 - 实体操作 - 持久性)上从头到尾引入 Spring,开始试验重构如何在当前产品上发挥作用。如果你成功了,那么你就继续重构,否则你可以在引入 Spring 之前回过头来尝试了解当前产品需要在哪些地方进行更改。

当然,当您有一定的 Spring 经验并且不必处理新手的问题时,这会起作用。如果您是 Spring 新手,那么我建议您在开始重构如此大的项目之前先获得一些 Spring 经验。

关于java - 调整独立应用程序以使用 Spring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25898619/

相关文章:

java - 如何使用 Swing 或 AWT 创建 OS X 原生模态对话框

Java `json_decode` (PHP) 等效项

java - Android 中的异常 "Illegal character in query at index -"

java - Spring-Boot 在 WAR 文件中找不到 JSP 页面

java - 如何检查/测试应用程序是否未在浏览器上缓存?

java - 创建名称为 'entityManagerFactory' 的 bean 时出错(Maven+jpa+spring)

java - 当表添加到滚动 Pane 时,JTable 列标识符不显示

java - 在 java.awt.Graphics 上绘制 java.awt.Cursor

java - Java 中的转义字符与平台相关吗?

java - 需要有关正则表达式的一些帮助