如果我有一个 InjectPoint
类实例,我如何从它读取 Annotation 的属性。即:用限定符注释 @MyCar(mpg="23")
如果在注入(inject) MyCar
时有一个 injectionPoint
,我将如何获得 mpg 和 “23”
?
@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();
}
}
关于java - 如何使用java cdi的注入(inject)点读取非绑定(bind)属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21294900/