我是CDI的新手。我尝试使用@Inject将String值注入变量,其中字符串由使用@ Produce.I引用的oracle Java EE 6注释的方法生成,但由于某种原因,我的应用程序无法找到Produce方法。
使用@Inject
注入的类@Path("login")
public class Login{
@Inject
@Config
private String name;
//do somthing with String name
}
我的制作人类
import javax.enterprise.inject.Produces;
public class ConfigurationFactory {
@Produces @Config
public String getName() {
return "XYZ";
}
}
我使用了限定符
@Target( { TYPE, METHOD, PARAMETER, FIELD })
@Retention(RUNTIME)
@Qualifier
public @interface Config {
}
我在stackoverflow和外部材料以及Java EE 6规范中阅读了很多文章。我遵循这个结构但我仍然得到这个错误
org.glassfish.hk2.api.UnsatisfiedDependencyException: There was no object available for injection at Injectee
我不确定为什么会这样,所以我尝试分析问题并在WEB-INF目录下添加了一个空的bean.xml文件,并且我尝试绑定资源文件" ConfigurationFactory"使用astractBinder。任何建议?