如果我有一个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();
}
}