标签:
注意区分注释和注解,注释是给人看的,注解是给程序看的。
注解的作用是代替配置文件,在servlet3.0中,就可以不再使用web.xml文件,而是所有配置都是用注解!比如注解类 @WebServlet ,可以在servlet3.0中使用这个注解,用来代替<servlet>的配置,然后Tomcat通过反射来读取注解中的信息。注解的作用目标:类,方法,构造器,参数,局部变量以及包
注解也是一个类,所有注解的父类都是 Annotation,定义一个注解的语法:public @interface MyAnno{},注解也可以以后属性,定义语法为:注意定义属性的语法和类的属性语法结构有差别。当注解给出属性后,使用时必须为注解赋值。注解的属性可以有默认值,默认值可以不赋值,当使用注解时,如果只给名为value的属性赋值时,可以省略“value=”,用法如下:
1 public @MyAnno{ 2 int value; 3 String value1; 4 } 5 6 public @MyAnno2{ 7 String value default "hello world"; 8 String value1; 9 } 10 11 @MyAnno(value=100,value1="hello") 12 @MyAnno(value1="hello") 13 public class MyClass{ 14 15 }
注解的属性的类型:8种基本类型, String, Enum, Class, 注解类型以及以上类型的一维数组类型。
注解作用目标的限定:在定义注解时,给注解添加注解,这个注解是@Target, 能够限定注解的作用目标。
1 @Target(value={ElementType.TYPE, ElementType.METHOD, ElementType.FIELD})//定义MyAnno1只能作用在类,方法和属性上 2 @interface MyAnno1 { 3 4 }
注解的保留策略:注解是只保留在源代码(SOURCE)上,还是保留到class文件上,再或者是类在运行时(JVM),可以被类加载器加载到内存中。
标签:
原文地址:http://www.cnblogs.com/elecdog/p/5735066.html