假设我有以下类(class):
public class MyRequestPayload implements RequestPayload {
protected MyRequestPayload() {}
@Override
public ResponsePayload process() {
String result = someService.doSomething(foo, bar);
return new MyResponsePayload(result);
}
public final String foo;
public final Integer bar;
@Inject
private SomeService someService;
}
是否有一些我可以调用的 CDI 服务来处理此类实例上的所有 @Inject
注释,注入(inject)当前可用的所有匹配服务?这对于对象不是单例并且不是由 CDI 创建的情况是必需的。在上面假设的示例中,对象是通过反序列化创建的。
最佳答案
我认为标准 CDI 不可能实现这一点。但如果您使用 DeltaSpike 扩展,则可以使用 BeanProvider .injectFields ...做你想做的事。请注意,当然您的 Pojo 不受 CDI 管理(作用域),仅解决了字段注入(inject)...
关于java - CDI 注入(inject)现有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24750967/