Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何阻止Wicket创建多个Guice注入单例实例?_Java_Singleton_Wicket_Guice - Fatal编程技术网

Java 如何阻止Wicket创建多个Guice注入单例实例?

Java 如何阻止Wicket创建多个Guice注入单例实例?,java,singleton,wicket,guice,Java,Singleton,Wicket,Guice,我是一个新的Guice用户,长期使用SpringIOC。我的服务层有许多@Singleton类,据我所知,这些类大致相当于Spring的默认bean范围 但是,当我在Wicket页面中使用@Inject时,每次构建页面时都会创建目标对象的CGLib代理,从而创建我假定的单例的新实例 注意,我正在注入具体的类,而不是接口 如何使用@Inject并检索Guice注入对象的单个单例实例 更新:根据Sven接受的答案解决方案 在Wicket组件中注入接口,而不是具体的类。尽管链接线程中对该主题进行了大量

我是一个新的Guice用户,长期使用SpringIOC。我的服务层有许多
@Singleton
类,据我所知,这些类大致相当于Spring的默认bean范围

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

注意,我正在注入具体的类,而不是接口

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

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


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

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


谢谢斯文。我已经创建了一个无参数构造函数来保持cglib的快乐,但是由于某些原因,我还没有将它与多个单例创建联系起来。