Guice:将依赖注入@provides提供程序

时间:2017-09-18 22:14:10

标签: java dependency-injection guice

我有一个模块,我在其中创建一个提供程序,并且该提供程序需要作为同一模块中另一个提供程序的依赖项。但是,我的设置目前无法实现。我该如何解决这个问题?还应该注意的是,所有依赖项都是第三方库,所以我相信我不应该在我的模块中绑定它(根据我读过的内容)。

不幸的是,由于NDA我无法提供实际代码,但依赖层次结构的示例如下所示:

import java.util.*;
public class kk
{
public static void main(String [] args)
{
    Scanner scan=new Scanner(System.in);
    int m=scan.nextInt();
    for(int q=0;q<m;q++)
    {
    int a=scan.nextInt();
    int b=scan.nextInt();
    int n=scan.nextInt();
    scan.close();
    int k;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=i;j++)
        {
           k=j*b;
        }
        k=k+a;
        System.out.println(k);
        k=0;
    }}
}
}

很简单,我需要创建一个自定义引擎,先设置一些属性,然后使用该引擎作为Car创建的依赖项(请注意我完全清楚我不能使用@Inject注释注入但是,我把它简单地作为对我想要实现的目标的参考。

1 个答案:

答案 0 :(得分:0)

删除@Inject注释,你应该好好去。如the @Provides Method User's Guide page中所列:

  

如果@Provides方法具有@PayPal@Named("Checkout")等绑定注释,则Guice会绑定注释类型。依赖关系可以作为参数传递给方法。在调用方法之前,进样器将为每个进行绑定。