java - 如何阻止 Wicket 创建 Guice 注入(inject)的单例的多个实例?

标签 java singleton wicket guice

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

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

请注意,我正在注入(inject)具体的类,而不是接口(interface)。

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

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

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

最佳答案

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

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

关于java - 如何阻止 Wicket 创建 Guice 注入(inject)的单例的多个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20945486/

相关文章:

java - 无法在 Ubuntu 上使用 JDK 9 启动 Eclipse Neon - 退出代码 = 13

java - Spring注入(inject)静态(全局)单例

java - 在 Eclipse 中使用指定的类加载器加载单例

java - 将新对象附加到 Wicket 中的自定义 validator

java - Wicket 口、身份验证和交易界定

java - 从模式窗口调用 Wicket setResponsePage() 时如何打败浏览器对话框弹出窗口?

java - Android - xml & 符号转换

JavaFX Web View : Transparent WebView keeps old content drawn

android - 如何在所有 Activity 和 fragment 中使用 MediaPlayer 的单个实例?

java 。忽略/禁用按键功能但仍捕获按键事件