使用@Produce生成的值进行依赖注入

时间:2014-08-19 01:57:26

标签: java dependency-injection java-ee-6 cdi code-injection

我是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。任何建议?

0 个答案:

没有答案