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

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

自定义字段描述

@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.FIELD)public @interface FieldDescrib {    String name();    String desc() default "";}@Datapublic class StudentDemo {    @FieldDescrib(name = "学生的年纪", desc = "正常情况是1-100")    private Integer age;    @FieldDescrib(name = "学生的性别", desc = "0:未知 1:男 2:女")    private Integer sex;}

获取字段自定义注解

@RequestMapping("/getAttrVals")    public void getAttrVal() {        StudentDemo StudentDemo = new StudentDemo();        StudentDemo.setAge(20);        StudentDemo.setSex(1);        Field[] fields = StudentDemo.getClass().getDeclaredFields();        String getFields = "";        for (Field field : fields) {            FieldDescrib declaredAnnotation = field.getDeclaredAnnotation(FieldDescrib.class);            System.out.println(declaredAnnotation);            getFields += "name:" + field.getName() + "=" + ModelToMap.getFieldValueByName(field.getName(), StudentDemo) + ",";        }        System.out.println(getFields.substring(0, getFields.length() - 1));    }

输出:

@com.demo.common.FieldDescrib(desc=正常情况是1-100, name=学生的年纪)

@com.demo.common.FieldDescrib(desc=0:未知 1:男 2:女, name=学生的性别)
name:age=20,name:sex=1

可以动态实现一些自定义的功能。

 

转载于:https://www.cnblogs.com/mr-yang-localhost/p/9152269.html

你可能感兴趣的文章
事件绑定
查看>>
grep命令详解
查看>>
iterm2快捷键
查看>>
asp.net 生成PDF方法
查看>>
EntityFramework 7 Join Count LongCount 奇怪问题(已修复)
查看>>
设计模式---组件协作模式之模板方法模式(Tempalte Method)
查看>>
程序员心理看WEB开发框架
查看>>
@Data 注解在实体类的使用可省去生成GET,SET方法
查看>>
webpack 介绍 & 安装 & 常用命令
查看>>
ASP.NET刷新页面的六种方法总结
查看>>
ECSHOP增加独立评论页面,并分页显示
查看>>
linux date -s
查看>>
jQuery实现可编辑表格
查看>>
Java实验三
查看>>
算法的评价
查看>>
python学习笔记(二)
查看>>
综合云平台 - GlusterFS - 03
查看>>
地球总在不停地转,时间总是不停地走
查看>>
3章 项目属性配置
查看>>
10 华电内部文档搜索系统 search05
查看>>