我正在使用第三方库。我正在使用带有一个类SampleClass
的字符串参数的构造函数:
public SampleClass(String apiKey) {...}
然后在我的课程上,我在一个字段上注入SampleClass
:
public MyClass {
@Inject private SampleClass sc;
public MyClass() { ... }
我已经创建了一个String生成器,以便从OS环境变量中获取String Api Key:
public class SettingsPropertiesProducer {
@Produces @com.living.commty.boot.cdi.qualifiers.ApiKey
public String getApiKey()
{
return System.getenv(...
}
}
如何将此生成器绑定或链接到SomeClass(String apiKey)
构造函数的第一个字符串参数?
答案 0 :(得分:1)
您可以为Sample类创建另一个生产者
public class SampleClassFactory {
@Produces
public SampleClass getSampleClass(@Inject @ApiKey final String apiKey) {
return new SampleClass(apiKey);
}
}
如果您的SampleClass有一个无参数构造函数,则在注入时可能会发生冲突,您可能需要为SampleClass生成器创建一个额外的限定符