我正在通过泽西岛使用HK2,并希望让“立即服务”发挥作用。在这个过程中,我注意到(看上去)我的服务的注释没有一个被注册。例如,在旋转我的ServiceLocator并查看带有@Singleton注释的服务的描述符之后,它仍然被设置为@PerLookup。启动应用程序处理程序的代码如下:
ApplicationHandler handler = new ApplicationHandler(resourceConfig, new AbstractBinder() { ... });我的活页夹注册了这样的服务:
bindAsContract(ShouldHaveSingletonScope.class);在这之后立即查看我的ServiceLocator,我发现这个作用域不是从类中提取的(仍然@PerLookup)。我还需要另外指定一些东西来告诉HK2解析类注释吗?这似乎是一个相当标准的用例,所以我一定是遗漏了什么。
发布于 2014-02-13 20:39:47
在ServiceLocatorUtilities上有一个名为addClasses的方法
所以,访问ServiceLocator,只需做
ServiceLocatorUtilities.addClasses(locator, ShouldHaveSingletonScope.class);绑定是非常字面的,并且只会做您告诉它的事情,而不是直接查看类。
https://stackoverflow.com/questions/21744297
复制相似问题