Jakarta ee 第三方构造函数参数上的字符串生成器

Jakarta ee 第三方构造函数参数上的字符串生成器,jakarta-ee,Jakarta Ee,我使用的是第三方图书馆。我使用的构造函数有一个字符串参数类SampleClass: 然后在我的类中,我在一个字段中注入一个SampleClass: public MyClass { @Inject private SampleClass sc; public MyClass() { ... } 为了从OS环境变量获取字符串Api密钥,我创建了一个字符串生成器: public class SettingsPropertiesProducer { @Produces @

我使用的是第三方图书馆。我使用的构造函数有一个字符串参数类SampleClass:

然后在我的类中,我在一个字段中注入一个SampleClass:

public MyClass {
    @Inject private SampleClass sc;

    public MyClass() { ... }
为了从OS环境变量获取字符串Api密钥,我创建了一个字符串生成器:

public class SettingsPropertiesProducer {

    @Produces @com.living.commty.boot.cdi.qualifiers.ApiKey
    public String getApiKey()
    {
        return System.getenv(...
    }
}

如何将此生产者绑定或链接到SomeClassString apiKey构造函数的第一个字符串参数?

您可以为示例类创建另一个生产者

public class SampleClassFactory {
     @Produces 
     public SampleClass getSampleClass(@Inject @ApiKey final String apiKey) {
        return new SampleClass(apiKey);
    }
}

如果您的SampleClass具有无参数构造函数,则在注入时可能会发生冲突,您可能需要为SampleClass生产者创建额外的限定符

What is@com.living.commty.boot.cdi.qualifiers.ApiKey?这是资格赛吗?发布完整的代码。
public class SampleClassFactory {
     @Produces 
     public SampleClass getSampleClass(@Inject @ApiKey final String apiKey) {
        return new SampleClass(apiKey);
    }
}