gpt4 book ai didi

java - 是否可以\建议重构 Spring MVC 应用程序以使用另一个 MVC 框架?

转载 作者:行者123 更新时间:2023-12-01 05:52:01 25 4
gpt4 key购买 nike

我刚刚开始使用 Spring,目前正在阅读 Spring in Action加速。在引用 Spring 与 EJB 的优点时,该书做出了如下声明:

"With Spring, components are typically not required to implement, extend, or use any Spring-specific classes or interfaces, making it possible to reuse the components anywhere, even in the absence of Spring."

我的应用程序当前正在使用 Spring MVC。我可以看到上述陈述对于我的应用程序的业务逻辑是如何成立的,因为依赖注入(inject)的使用已经将我们的 bean 与 Spring 框架完全解耦。但是 MVC 的东西呢,在本例中是一个 Web 应用程序?我很好奇将来是否可以将我的应用程序中的 Spring MVC 替换为另一个 MVC 框架。

我的问题有两个:
1) 我是否应该将 Web 层视为与 Spring 框架紧密耦合,并假设 MVC 中的更改需要创建新的 Web 应用程序来支持它?

2) 如果不是,将 Web 应用程序与 Spring 解耦会涉及什么?我已经可以猜测,在没有 Spring 框架的情况下,所有注释都需要从 Controller 中删除,并且需要重构相关代码以支持新的 MVC 框架。

我对经历过这一过程的人的见解特别感兴趣。

最佳答案

好问题。正如您正确指出的那样,MVC 框架确实倾向于将您的代码与 Spring API 的耦合比与业务逻辑层的耦合更紧密。

这几乎是不可避免的,尽管比 Spring 3 的程度要小得多,在 Spring 3 中,注释被大量用于将请求映射到 Controller 等。方法参数和返回值与 Spring API 的耦合大大减少。 Controller 可以用业务逻辑来表达自己。

但是,为了从 Spring MVC 获得任何形式的表达能力,通常需要使用其 API。

因此,回答你的问题,虽然从 Spring API 到 Controller 代码的耦合非常小,但它确实存在,并且需要删除。但是,由于它是一个非常非侵入性的 API,因此您的代码中应该很少有设计妥协,从而更容易适应另一个框架。

关于java - 是否可以\建议重构 Spring MVC 应用程序以使用另一个 MVC 框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4350668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com