Java学习笔记-全栈-web开发-13-JavaWeb注解

2021-08-18 15:29:59 浏览数 (1)

学习目标:通过JavaWeb注解,了解注解开发模式,为spring注解开发铺路。

1. 简述

注解不是注释,注释是程序员写的,给程序员看的。 注解给程序看的,用于描述程序如何运行及在什么阶段来运行。

注解在实际开发中,最大的功能是用于替换配置文件

注解是jdk1.5的新特性

可以通过反射来让注解具有功能

注解的格式: @xxxx

注解的本质是一个接口,这个接口需要继承 Annotation接口

2. Java中的三个基本注解

@Override:检查子类确实是覆盖/重写了父类的方法。 当我们重写覆盖父类方法时,很多编辑器都会自动帮我们加上这个注解

@Deprecated:在方法上加上这个注解,说明该方法已经过时了,不建议使用

@SuppressWarnings({ “unused”, “deprecation” }):抑制程序中的警告。unused警告的类型。。all抑制所有警告

3. 声明注解(了解)

如何声明注解

  • Step1:创建一个注解 @interface 注解名{}
  • Step2:声明注解中的成员(注解的属性类型可以有哪些?) 1.基本类型 2.String 3.枚举类型 4.注解类型 5.Class类型 6.以上类型的一维数组类型 Step3:使用注解

现在这个注解没有任何作用,但是我们能够通过反射获取注解中的值,然后将这些值注入到model中(或程序中)

在开发中,通常都是使用框架自带的注解 对自定义注解感兴趣的可以自行百度学习

4. 元注解(重要)

用于修饰注解的注解被称为元注解。

注解的存活范围分为

  • SOURCE:源文件阶段生效
  • CLASS:字节码文件阶段生效
  • RUNTIME:运行时生效

若为SOURCE、CLASS,则在运行时注解已经失效,因此不能通过反射访问注解

代码语言:javascript复制
自定义注解的生命周期默认是CLASS(在CLASS中生效)

四个元注解:

  • @Retention:用来描述被修饰的注解的生命周期
    • RetentionPolicy
      • SOURCE
      • CLASS
      • RUNTIME
  • @Target:用于指定被修饰的注解的适用范围,即被修饰的注解可以用来修饰哪些程序元素。
    • ElementType:
      • TYPE:
      • METHOD:
      • FIELD:
      • ANNOTATION_TYPE
  • @Documented:用于指定被修饰的注解将被javadoc工具提取成文档。
  • @Inherited:用于指定被@Inherited修饰的注解具有继承性,可以被继承。

5. Servlet常用注解

@WebServlet 指定映射路径

通过localhost:8080/DownloadServlet就可以访问该Servlet

@WebFilter 声明该Filter的作用对象

@WebFilter("/*")表示对任意访问路径都生效

0 人点赞