短篇小说:我想从使用Jersey的Injectee
方法绑定的Supplier
中获取AbstractBinder.bindFactory(Class)
。
基本上可以解决JERSEY-3675
长话:我使用org.glassfish.hk2.api.Factory
方法创建了RequestScoped
对象的实例,生活很美好。
我将我的注册信息转为Feature,然后由于JERSEY-3675而生活不佳。
长话短说,org.glassfish.hk2.utilities.binding.AbstractBinder
在“功能”中不起作用。没问题,我想,我会使用org.glassfish.jersey.internal.inject.AbstractBinder
。
我遇到的轻微问题:Jersey的AbstractBinder.bindFactory()
方法采用Supplier
而不是Factory
。没问题,我想,我会使用Supplier
(无论如何我都更喜欢)。
我遇到的更大问题:我一直在使用org.glassfish.hk2.api.Injectee
来获取InstantiationData
,有关谁在打针。如果我不使用HK2的Factory
,则不会注入。 Javadoc甚至说,如果未从Factory.provide()
中调用该方法,则该方法“不确定”。
即使有泽西岛Injectee
(org.glassfish.jersey.internal.inject.Injectee
),它似乎仅在使用泽西岛的InjectionResolver
时可用。我不想使用InjectionResolver
,因为
HK2的InjectionResolver
必须为Singleton
,但我想在注入的对象中放入RequestScoped
东西。
InjectionResolver
并没有说要成为Singleton
。有人可以确认吗?我不想为此创建自己的注释(我已经创建了自己的注释,对于其他情况,我创建了InjectionResolvers
)
我对使用@Inject
覆盖InjectionResolver
充满信心。不知道这意味着什么,或者我如何能够注册其中的多个并将它们协同工作(每个功能一个)
同时,我正在使用错误中提到的解决方法。
我是DI领域的新手,所以如果某件事(或全部)没有意义,请告诉我。