0.注解的引入 在开发Java程序的时候,尤为是J2EE应用的时候,老是避免不了,与各类配置文件打交道,SSH架构,每一个都有本身的配置文件,这些文件必须与java源代码保持同步,否则就会出现错误,把同一份信息保存在两个地方,维护,总不是什么好事情,若是能,在一个地方维护这些信息,java
1.注解的语法比较简单,除了@符合的使用外,它基本与java固有的语法是同样的,java内置了三种注解,定义在java.lang包中<br/>架构
@Override 表示当前的方法覆盖父类的方法<br/> @Deprecated 表示当前的元素是不同意使用的<br/> @SuppressWarnings 表示关闭当前的一些不当的编辑器警告信息<br/>
2.元注解@Target @Retention @Documented @Inherited<br/><br/>编辑器
@Target 表示注解用于什么地方, ElemenetType.CONSTRUCTOR 构造器声明 ElemenetType.FIELD 域声明(包括 enum 实例) ElemenetType.LOCAL_VARIABLE 局部变量声明 ElemenetType.METHOD 方法声明 ElemenetType.PACKAGE 包声明 ElemenetType.PARAMETER 参数声明 ElemenetType.TYPE 类,接口(包括注解类型)或enum声明 <br/><br/> @Retention 表示在什么级别保存该注解信息。可选的 RetentionPolicy 参数包括: RetentionPolicy.SOURCE 注解将被编译器丢弃 RetentionPolicy.CLASS 注解在class文件中可用,但会被VM丢弃 RetentionPolicy.RUNTIME VM将在运行期也保留注释,所以能够经过反射机制读取注解的信息。 @Documented 将此注解包含在 javadoc 中 @Inherited 容许子类继承父类中的注解
3.注解的使用 1.定义注解类ide
public @Interface A{ }
2.应用注解类code
@A public class B{ }
3.对应的注解类的类进行反射操做类继承
B.class.isAnnotaionPresent(A.class); A a = B.class.getAnnotation(A.class);