博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java自定义注解有什么作用?
阅读量:4165 次
发布时间:2019-05-26

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

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
@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
;
 
   
}
 
  
}

你说的是annotation, 就是带个@号的,注解其实是类反射的一些延伸,在一些需要配置文件的Java应用中,可以使用注解替代配置文件配置,从而提高应用的灵活。

转载地址:http://ypmxi.baihongyu.com/

你可能感兴趣的文章
[Leetcode]最后一个单词的长度
查看>>
merges sort use c++
查看>>
插入排序用递归实现
查看>>
工作流审批平台-审批流程-指定审批部门
查看>>
商务智能-系统概述-数据图形方式
查看>>
软件项目管理系统-项目管理-模块定义-开发内容
查看>>
工作流审批平台-审批功能
查看>>
商务智能-基本方法-特征与角度
查看>>
软件项目管理系统-项目管理-模块定义-开发笔记
查看>>
工作流审批平台-业务申请-申请书一览
查看>>
商务智能-基本方法-数据钻取
查看>>
eclipse的java facets的runtimes如何删除tomcat?
查看>>
oracle序列的cache_size说明
查看>>
oracle中两个时间戳相减得到间隔毫秒数
查看>>
Oracle中将毫秒数转换为timestamp类型的两种方法
查看>>
mybatis配置and rownum< minus 查询第几行到第几行数据的sql原型和mybatis原型。
查看>>
oracle的concat函数使用问题。
查看>>
eclipse编辑状态下怎样让指定行左移或右移?
查看>>
plsql developer如何导入导出表结构和数据以及如何复制表结构和数据?
查看>>
oracle如何去除某个字段中两边的空格?
查看>>