如果我有一个InjectPoint类实例,该如何从中读取注释的属性。即:用限定符@MyCar(mpg="23")注释

注入"23"时如果有injectionPoint,我将如何获得mpg和MyCar

@Inject
public void injectionTest(@MyCar(mpg="23") Car _car,InjectionPoint ip)
{
...
}


@Qualifier
@Retention(RUNTIME)
@Target({TYPE, METHOD, FIELD, PARAMETER})
public @interface MyCar
{
    @Nonbinding
    String mpg() default "30";
}

最佳答案

for(Annotation a : injectionPoint.getQualifiers())
{
   if(a instanseof MyCar)
   {
     MyCar myCar = (MyCar) a;
     a.mpg();
   }
}

10-08 09:08