作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这段代码来提供自定义可注入(inject)对象:
config.register(new AbstractBinder() {
@Override
protected void configure() {
delegatorFactory = ...; //custom factory to delegate to
bindFactory(new Factory<Object>() {
@Inject
private Provider<ContainerRequestContext> req;
@Override
public void dispose(Object arg0) {
}
@Override
public Object provide() {
// req is needed but is null
}
}).to(delegatorFactory.getType()).in(RequestScoped.class);
}
});
不幸的是,正如 Provide() 中的注释所揭示的那样,执行时不会注入(inject) req
字段(我需要该位置的 ContainerRequestContext
)。我缺少什么才能使它像这样工作,即注入(inject)工厂的字段?
最佳答案
将其与类绑定(bind)。大多数时候,当您开始自己实例化东西时,您就会失去注入(inject)的好处。所以只需使用一个类
bindFactory(YourFactoryClass.class)
<小时/>
要让注入(inject)器手动注入(inject)工厂,您可以使用功能
public class YourFeature implements Feature {
@Override
public void configure(FeatureContext context) {
final ServiceLocator locator = ServiceLocatorProvider.getLocator(context);
locator.inject(anyObject);
context.register(new YourAbstractBinder());
}
}
config.register(new YourFeature());
关于java - bindFactory 不注入(inject)字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39839827/
我有这段代码来提供自定义可注入(inject)对象: config.register(new AbstractBinder() { @Override prot
使用 Jersey 3.0.1,我正在努力让绑定(bind)工作。 我有这个带有以下工厂的绑定(bind)模块: public static class MyBinder extends Abstra
我现在正在使用 Jersey,我想注入(inject)一个 GeneralForm映射到 Resource 类上下文中,它接受所有 application/json , multipart/form-
我是一名优秀的程序员,十分优秀!