【问题标题】:How to stop Wicket creating multiple instances of Guice-injected singletons?如何阻止 Wicket 创建多个注入 Guice 的单例实例?
【发布时间】:2014-01-06 07:58:56
【问题描述】:

我是 Guice 的新用户,是 Spring IoC 的长期用户。我的服务层有许多 @Singleton 类,据我了解,它们大致相当于 Spring 的默认 bean 范围。

但是,当我在 Wicket 页面中使用 @Inject 时,每次构建页面时都会创建目标对象的 CGLib 代理,从而创建我假定的单例的新实例。

请注意,我注入的是具体类,而不是接口。

如何使用 @Inject 并检索我的 Guice 注入对象的单个单例实例?

更新:根据 Sven 接受的答案解决方案

在 Wicket 组件中注入接口,而不是在具体类中。尽管在链接线程中对此主题进行了很多讨论,但这似乎是唯一实用的解决方案。

【问题讨论】:

    标签: java singleton wicket guice


    【解决方案1】:

    以下问题提供了一些背景:

    https://issues.apache.org/jira/browse/WICKET-1130

    【讨论】:

    • 谢谢斯文。我已经创建了一个无参数的构造函数来保持 cglib 的快乐,但由于某种原因并没有完全将它与多个单例创建之间建立关联。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多