gpt4 book ai didi

java - 用 Hibernate/Guice/Wicket 替换 Hibernate/Spring/Spring MVC 堆栈

转载 作者:行者123 更新时间:2023-12-04 06:15:30 25 4
gpt4 key购买 nike

我有一个使用 Hibernate/Spring 和 Spring MVC 的应用程序,但作为学习和比较差异的动力,我想将该应用程序移植到 Hibernate/Guice/Wicket。

我的问题很基本,但我从哪里开始。我应该从替换 Spring 层开始,然后是 Spring MVC 层吗?

两者可以在相同的环境中工作,这样我就可以从只编辑一个 Controller / View 开始,然后展开,我该怎么做?

最佳答案

  • 从 View 开始:

    无论如何,如果没有 Spring,Spring MVC 将无法工作。并且由于其他层不依赖于它的 API(好吧,至少不应该),表示层应该是最容易改变的(尽管需要大部分努力,因为它将包含一个完整的重新实现)。
  • Spring 过后去:

    a) 如果您不使用太多 Spring 的实用程序类(*Template、*DaoSupport 等)或基础设施(事务管理、安全性),迁移到 Guice 可能需要重写(基于 XML 或基于注释) Guice 模块/注释中的配置,因为纯依赖注入(inject)(如果不是可移植的)几乎直接在框架之间映射。

    b)如果您确实使用了 Spring 的实用程序类和基础设施(您可能会这样做,因为这是使用 Spring 而不是 no-value-added-yet-another-dependency-injection-containers 的全部意义......),您将必须以某种方式将它们迁移到 Guice。如果您打算逐步执行此操作,您可以寻找两者之间的某种集成(可能使用 Guice 的 Spring 基础架构),并在迁移依赖项后,切换到 Guice 原生拦截器实现(和 测试、测试、测试 ,因为行为上的微小差异可能会破坏您的应用程序)。 This other question可能会提供一些提示。
  • 然后, hibernate :

    由于您将保留 Hibernate,因此其配置不应受到转换的影响。当您将基础架构和配置迁移到 Guice 时,只有它的 Bootstrap 会发生变化。如果可以避免的话,我不建议保留两个并行的 SessionFactories。
  • 关于java - 用 Hibernate/Guice/Wicket 替换 Hibernate/Spring/Spring MVC 堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7306189/

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