1
我有如下代碼HK2相當於吉斯的靜態注射結合和ProviderBinding
public class ProcessorFactory {
@Inject static Provider<Processor> processorProvider;
...
}
public class ProcessorProvider implements Provider<Processor> {
...
@Override
public Processor get() {
...
}
}
和吉斯綁定是如下
bind(Processor.class).toProvider(ProcessorProvider.class).in(ServletScopes.REQUEST);
requestStaticInjection(ProcessorFactory.class);
但是我的項目是由別人設置完成使用HK2。有人可以用HK2中的等效綁定來幫助我嗎?似乎只有bind,bindAsContract和bindFactory選項...
啊我明白了,謝謝。靜態注射怎麼樣?有沒有相當於'requestStaticInjection'? – jamesw1234
由於與靜態注射的生命週期有關的困難(何時可以確定它已被注射?),HK2不會進行靜態注射。如果您需要靜態注入,請創建一個包含非靜態注入的類(可能位於@Immediate範圍內),並在該東西的postConstruct中設置您需要設置的靜態值 – jwells131313