前言
java的注解,我们都在使用,尤其是框架学习的部分,注解尤为重要,那么 注解究竟有什么魅力?它在程序运行当中又是如何起作用,如何理解注解的存在! 相关资料会告诉我们,注解是解释程序、说明程序的!那么它又是如何解释,说 明程序的?还有注解里的参数,你有没有好奇过它究竟去哪了?下面作以演示说明。
注解
注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
反射
- JAVA反射机制是在运行状态中,获取任意一个类的结构 , 创建对象 , 得到方法,执行方法 , 属性 !
- 反射:框架设计的灵魂
- 将类的各个组成部分封装为其他对象,这就是反射机制
反射给予注解生命:
下面通过自定义注解(模拟在数据库的映射),演示注解的存在价值,注解参数的去向:
- 定义注解(数据库注解TableAnnotation,字段注解ColumnAnnotation)
TableAnnotation
1 | java复制代码@Target(ElementType.TYPE) |
ColumnAnnotation
1 | java复制代码@Target(ElementType.FIELD) |
- 定义java类 Book来使用注解,作用是声明数据库名以及字段属性等信息
Book.java
1 | java复制代码@TableAnnotation("test_Book")//用value为名,注解时可不加方法名 |
- 注解的生命,正是利用java的反射机制,来获取注解信息,以达到使用目的! 创建测试类来利用反射,获取Book类的注解生命!
1 | java复制代码public class ReflectDemo3 { |
运行结果:
总结
注解就是利用反射,获取注解的信息以及参数,然后拿到参数值或者注解类型,来进行一些操作,这样注解以及注解的参数等信息就有了它的使用价值!
本文转载自: 掘金