相关疑难解决方法(0)

什么是CDI的实例或Guices Provider的Spring等价物

在CDI中,您可以使用以下命令定义一个对象,该对象将为您提供特定类型的项目:

@Inject
Instance<MyObject> myObjectInstance;
//...
MyObject myObjectInstance.get();

同样在Guice中你可以做到:

@Inject
Provider<MyObject> myObjectInstance;
//...
MyObject myObjectInstance.get();

我想知道Spring中是否有类似的构造,或者你必须使用它ApplicationContext才能获得引用?

java spring guice cdi

19
推荐指数
1
解决办法
4418
查看次数

如何将参数传递给CDI中另一个类的注入类?

我是CDI的新手,曾试图找到此问题的解决方案,但没有发现任何问题。问题是,假设我有一个正在注入的类(A),正在注入一些值(toPass),现在我想将此相同的值(toPass)传递给B类,而B类是从A类注入的。

public class A 
{
    String toPass = "abcd"; // This value is not hardcoded

    @Inject
    private B b;
}

public class B 
{
    private String toPass; 
    public B(String toPass)
    {
        toPass = toPass;
    }
}
Run Code Online (Sandbox Code Playgroud)

有人可以帮我吗?注意:我们无法以与在A中初始化相同的方式来初始化B的toPass变量,对此有一些限制。基本上在春季,我们可以轻松做到这一点,但我想在CDI中完成。

java dependency-injection inject parameter-passing cdi

5
推荐指数
1
解决办法
2579
查看次数