我是 Guice 的新用户,之前是 Spring IoC 的长期用户。我的服务层有许多 @Singleton
类,据我所知,它们大致相当于 Spring 的默认 bean 范围。
但是,当我在 Wicket 页面中使用 @Inject
时,每次构建页面时都会创建目标对象的 CGLib 代理,从而创建我假定的单例的新实例。
请注意,我正在注入(inject)具体的类,而不是接口(interface)。
如何使用 @Inject
并检索 Guice 注入(inject)对象的单个实例?
更新:根据 Sven 接受的答案解决方案
在 Wicket 组件中注入(inject)接口(interface)而不是具体类。尽管链接线程中对该主题进行了很多讨论,但这似乎是唯一实用的解决方案。
最佳答案
以下问题提供了一些背景知识:
关于java - 如何阻止 Wicket 创建 Guice 注入(inject)的单例的多个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20945486/