java 自定义的注解有什么作用

转自https://zhidao.baidu.com/question/1668622526729638507.html

自定义注解,可以应用到反射中,比如自己写个小框架。

如实现实体类某些属性不自动赋值,或者验证某个对象属性完整性等

本人自己用过的验证属性值完整性:

@Target (ElementType.FIELD)   
@Retention (RetentionPolicy.RUNTIME)
public  @interface  IgnoreProperty {
}
然后实体类中:
@Target(ElementType.FIELD)   
@Retention(RetentionPolicy.RUNTIME)
public @interface IgnoreProperty {
}
然后实体类中:
public class TarResearch implements Serializable{
 
 @IgnoreProperty
 private static final long serialVersionUID = 1L;
 
 @IgnoreProperty
private  Integer researchId;
 
 @IgnoreProperty
 private TarUser userId;
 
 private String version;
 
 private String grade;
....
   } 
 
然后action类中  
// 验证数据完整性
 
  Class<TarResearch > userClass = TarResearch .class;
 
  Field[] field = userClass.getDeclaredFields();
 
  for (int i = 0; i < field.length; i++) {
 
   if (field[i].getAnnotation(IgnoreProperty.class) != null) {
 
    continue;
 
   }
 
   String fie = field[i].getName().substring(0, 1).toUpperCase()
 
     + field[i].getName().substring(1);
 
   Method method = userClass.getMethod("get" + fie);
 
   Object obj = method.invoke(u);
 
   if (obj == null) {
 
    sendResponseMsg(response, "数据错误");
 
    return null;
 
   }
 
  }

 

转载于:https://www.cnblogs.com/lijingran/p/8586346.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值