A. java 自定义的注解有什么作用
自定义注解,可以应用到反射中,比如自己写个小框架。
如实现实体类某些属性不自动赋值,或者验证某个对象属性完整性等
本人自己用过的验证属性值完整性:
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public@interfaceIgnoreProperty{
}
然后实体类中:
{
@IgnoreProperty
=1L;
@IgnoreProperty
privateIntegerresearchId;
@IgnoreProperty
privateTarUseruserId;
privateStringversion;
privateStringgrade;
....
}
然后action类中
//验证数据完整性
Class<TarResearch>userClass=TarResearch.class;
Field[]field=userClass.getDeclaredFields();
for(inti=0;i<field.length;i++){
if(field[i].getAnnotation(IgnoreProperty.class)!=null){
continue;
}
Stringfie=field[i].getName().substring(0,1).toUpperCase()
+field[i].getName().substring(1);
Methodmethod=userClass.getMethod("get"+fie);
Objectobj=method.invoke(u);
if(obj==null){
sendResponseMsg(response,"数据错误");
returnnull;
}
}