您的位置:首页 > 业界新闻

servlet 注解

2015-07-07 23:37 991 查看
一、注解

1、注解的作用:替代配置文件

2、JDK中提供的三个基本的注解

@Override:说明是否覆盖了父类的方法。

@Deprecated:说明过时了。

@SuppressWarnings:抑制警告

@SuppressWarnings("抑制的警告的具体类型"):

unused:变量未使用

deprecation:使用了不赞成使用的类或方法时的警告

unchecked:执行了未检查的转换时的警告。比如没有使用泛型

falthrough:当switch程序块直接通往下一种情况而没有break时的警告

path:在类路径、源文件路径等中有不存在的路径时的警告。

serial:当在可序列化雷尚缺少serialVersionUID定义时的警告

finally:任何finally子句不能正常完成时的警告。

all:关于以上所有情况的警告。

3、注解学习目标:

a、自定义注解

b、反射注解

4、自定义注解的语法:

注解本身:public @interface MyAnnotation{}

使用关键字@interface定义一个类而已。这个类就是注解。

注解中的属性:

基本形式:类型 属性名称();

比如:String name();

使用:@MyAnnotationDemo1(name="hello")

特别注意:注解的属性的类型只能是:基本类型、String、Class、枚举、注解类型及以上类型的一维数组。

注解属性的默认值:

类型 属性名称() default 默认值;

注解中的特殊属性:

类型 value();   使用时,如果只给value设置值,可以这样用:@MyAnnotationDemo1(value="hello")或者@MyAnnotationDemo1("hello")

  使用时,如果只给value设置值,还要给其他属性设置值,可以这样用:

@MyAnnotationDemo1(value="hello",name="aaa")

类型[] value();

使用方式如同value。

使用方式:四种都ok

// @MyAnnotationDemo1(value={"a","b"})

// @MyAnnotationDemo1({"a","b"})

// @MyAnnotationDemo1({"a"})

@MyAnnotationDemo1("a")

5、元注解:

定义:服务于注解的注解就是元注解。

***@Retention:注解的保留范围

RetentionPolicy.SOURCE:注解存在于源文件中

RetentionPolicy.CLASS:注解存在于源字节码文件中

RetentionPolicy.RUNTIME:注解存在于运行时

***@Target:注解出现的位置

@Documented: 用于指定被该元 Annotation 修饰的 Annotation 类将被 javadoc 工具提取成文档.

@Inherited: 被它修饰的 Annotation 将具有继承性.如果某个类使用了被 @Inherited 修饰的 Annotation, 则其子类将自动具有该注解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息