Java之Annotation学习
2019独角兽企业重金招聘Python工程师标准>>>
相关概念:http://www.cnblogs.com/mandroid/archive/2011/07/18/2109829.html
定义注解
package cn.baokx.annotation;import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;@Target(value={ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyTableAnnotation {String value();
}
package cn.baokx.annotation;import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;@Target(value={ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyFieldAnnotation {String columnName();String type();
}
package cn.baokx.annotation;
@MyTableAnnotation("TBL_STUDENT")
public class Student {@MyFieldAnnotation(columnName="NAME",type="VARCHAR")private String name;@MyFieldAnnotation(columnName="AGE",type="INT")private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}
package cn.baokx.annotation;import java.lang.reflect.Field;public class Main {public static void main(String[] args) throws NoSuchFieldException, SecurityException, ClassNotFoundException {Student stu = new Student();stu.setName("baokx");stu.setAge(30);handler(stu);}public static void handler(Student stu) throws NoSuchFieldException, SecurityException, ClassNotFoundException{Class clazz = stu.getClass();MyTableAnnotation mta = (MyTableAnnotation) clazz.getAnnotation(MyTableAnnotation.class);System.out.println("tableName:"+mta.value());Field f = clazz.getDeclaredField("name");MyFieldAnnotation mfa = f.getAnnotation(MyFieldAnnotation.class);System.out.println("columnName:"+mfa.columnName());System.out.println("type:"+mfa.type());System.out.println("value:"+stu.getName());f = clazz.getDeclaredField("age");mfa = f.getAnnotation(MyFieldAnnotation.class);System.out.println("columnName:"+mfa.columnName());System.out.println("type:"+mfa.type());System.out.println("value:"+stu.getAge());}
}
转载于:https://my.oschina.net/u/1427708/blog/710662
Java之Annotation学习相关推荐
- 深入理解Java注解Annotation及自定义注解
要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法. 元注解: 元注解的作用就是负责注解其他注解.Java5. ...
- 【Java Web开发学习】Spring4条件化的bean
[Java Web开发学习]Spring4条件化的bean 转载:https://www.cnblogs.com/yangchongxing/p/9071960.html Spring4引入了@Con ...
- java自定义注解学习笔记
注解学习笔记之自定义注解 @Target({1,2,3,4,5,6,7}) 1.ElementType.CONSTRUCTOR:用于描述构造器 2.ElementType.FIELD:用于描述域 3. ...
- java程序员学习路线以及我的学习经验
本文作者为优知学院创始人陈睿(mike),作者有10年以上技术&产品经验,曾任百度研发经理.携程定制旅游CTO. " 这是一篇完整的java程序员学习线路图,一共分为六个阶段. 我以 ...
- 四十一,java中Annotation详解
2019独角兽企业重金招聘Python工程师标准>>> 1.Annotation简介 Annotation实际上表示一种注释的语法,java中最早的程序是提倡代码与配置相分离,而最新 ...
- 【Java Web开发学习】Spring MVC 拦截器HandlerInterceptor
[Java Web开发学习]Spring MVC 拦截器HandlerInterceptor 转载:https://www.cnblogs.com/yangchongxing/p/9324119.ht ...
- JAVA网络爬爬学习之HttpClient+Jsoup
JAVA网络爬爬学习 HttpClient用法简单整理 GET请求 无参 带参 POST请求 无参 带参 连接池 请求request的相关配置 httpclient用法详解 Jsoup用法简单整理 j ...
- java后端系统学习总结 03_java Web基础学习
猿猿正在系统的学习一些计算机知识,和后端技术栈,目前阶段主要在系统学习java.此专栏,为我学习过程中的学习笔记,便于日后复习回顾来看,也很适合新人学习参考呦. 以下是猿猿对JavaWeb的第一遍学习 ...
- 注解(Annotation) 学习笔记(尚硅谷康师傅版)
注解(Annotation) 一.注解(Annotation)概述 从JDK 5.0开始, Java 增加了对元数据(MetaData)的支持, 也就是Annotation(注解) Annot ...
最新文章
- 8-14-Exercise
- linux运行jar文件
- Globalplatform TEE api介绍
- 《个体软件过程》—第1章1.1节什么是软件工程
- Qt下Sqlite数据库操作
- WWDC 2013 Session笔记 - iOS7中弹簧式列表的制作
- linux 命令行域名的解析(DNS) —— dig、host
- Linux服务器创建及维护记录
- Latex:利用BibTeX批量导入参考文献
- MSN机器人-头像显示
- 盘点2020年最好用的7款3D游戏建模软件
- 用u盘进不了pe计算机意外地,u盘装系统启动不了无法进入pe怎么办
- 【mediasoup 带宽估计】aimd算法1 : AimdRateControl
- uniapp如何使用uview中的loadmore上拉加载
- 影像扫描系统连接服务器失败,您的扫描仪不能与ImageCapture配合使用
- cmd sqlplus远程连接_sqlplus连接远程数据库
- 2021第六届全国学生“学宪法讲宪法“活动答案
- Apache开源顶级项目Ambari搭建HDP大数据平台
- Python中进行Excle操作
- BS1039-基于Python+BS架构开发实现在线图书管理系统
热门文章
- Domino R8.5相关链接
- chords(1)最初
- 5分钟Serverless实践 | 构建无服务器的敏感词过滤后端系统
- 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志
- 【NetApp】重删和压缩的关系
- 设计-直接不等于简单
- Centos的网络配置命令和文件
- java list三种遍历方法性能比較
- 《The C Programming Language》(2nd Ed) Introduction 翻译
- 解决android unable to resolve new-instance问题