CDI依赖注入可以是可选的吗?

问题描述 投票:0回答:1

在Spring DI中,将自动装配的字段声明为Optional可使客户端不向其注入任何值。使用Java EE的CDI是否可以实现?我尝试了Optional,但失败了。我想知道是否可以使用等效的机制。

这是我尝试过的:

public class OmeletteMaker implements EggMaker{
        public static void main(String[] args){
        WeldContainer container = new Weld().initialize();
        OmeletteMaker omeletteMaker = container.instance().select(OmeletteMaker.class).get();
    }

    @Inject
    Optional<Vegetable> vegetable;
}

我收到错误消息:线程“主”中的异常org.jboss.weld.exceptions.DeploymentException:WELD-001408类型[Optional]的依赖项不令人满意,在注入点[[BackedAnnotatedField] @Inject cafeteria.OmeletteMaker.vegetable]]中带有限定符[@Default]

在Spring DI中,将自动装配的字段声明为Optional可使客户端不向其注入任何值。使用Java EE的CDI是否可以实现?我尝试了Optional,但失败了。我想知道是否有...

dependency-injection cdi
1个回答
0
投票

[这个看似简单的问题中有很多问题。考虑到问题的实质,我将尽力回答他们。

© www.soinside.com 2019 - 2024. All rights reserved.