博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义注解
阅读量:5127 次
发布时间:2019-06-13

本文共 911 字,大约阅读时间需要 3 分钟。

@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/sddychj/p/6760938.html

你可能感兴趣的文章
DataGridView的行的字体颜色变化
查看>>
局域网内手机访问电脑网站注意几点
查看>>
[Serializable]的应用--注册码的生成,加密和验证
查看>>
Linux操作系统 和 Windows操作系统 的区别
查看>>
Android-多线程AsyncTask
查看>>
LeetCode【709. 转换成小写字母】
查看>>
如何在Access2007中使用日期类型查询数据
查看>>
CF992E Nastya and King-Shamans(线段树二分+思维)
查看>>
如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下:
查看>>
linux install ftp server
查看>>
Ubuntu下的eclipse安装subclipse遇到没有javahl的问题...(2天解决了)
查看>>
alter database databasename set single_user with rollback IMMEDIATE 不成功问题
查看>>
WCF揭秘——使用AJAX+WCF服务进行页面开发
查看>>
【题解】青蛙的约会
查看>>
IO流
查看>>
mybatis调用存储过程,获取返回的游标
查看>>
设计模式之装饰模式(结构型)
查看>>
面向对象的设计原则
查看>>
Swift3.0服务端开发(三) Mustache页面模板与日志记录
查看>>
EntityFrameWork 实现实体类和DBContext分离在不同类库
查看>>