zoukankan      html  css  js  c++  java
  • java 注解(annotation)基础学习

     元注解--------@Tatget  @inherited  @Retention @Documented

     @Retention:这个注解注在其他注解上,并用来说明如何存储已被标记的注解。用来标记注解并提供注解的信息。可能 的值是:

    • SOURCE:  表明这个注解会被编译器忽略,并只会保留在源代码中。
    • CLASS:      表明这个注解会通过编译驻留在CLASS文件,但会被JVM在运行时忽略,正因为如此,其在运行时不可见。
    • RUNTIME:表示这个注解会被JVM获取,并在运行时通过反射获取。

      @Target:这个注解用于限制某个元素可以被注解的类型。例如:

                ANNOTATION_TYPE --------------表示该注解可以应用到其他注解上

                CONSTRUCTOR -------------------表示可以使用到构造器上FIELD 表示可以使用到域或属性上

                LOCAL_VARIABLE-----------------表示可以使用到局部变量上。

                METHOD---------------------------可以使用到方法级别的注解上。

                PACKAGE--------------------------可以使用到包声明上。

                PARAMETER-----------------------可以使用到方法的参数上

                TYPE-------------------------------可以使用到一个类的任何元素上

       @Documented:被注解的元素将会作为Javadoc产生的文档中的内容。注解都默认不会成为成为文档中的内容。这个注解可以对其它注                              解使用。

       @Inherited:在默认情况下,注解不会被子类继承。被此注解标记的注解会被所有子类继承。这个注解可以对类使用。

     经常用到的一些注解:

    • @Override:向编译器说明被注解元素是重写的父类的一个元素。在重写父类元素的时候此注解并非强制性的,不过可以在重写错误时帮助编译器产生错误以提醒我们。比如子类方法的参数和父类不匹配,或返回值类型不同。
    • @Repeatable:说明该注解标识的注解可以多次使用到同一个元素的声明上。
    • @Test:这个注解向JUnit说明这个被注解的方法一定是一个可执行的测试方法。这个注解只能标识在方法上,并且被JVM保留至运行时。
    • @Before:这个注解用来向JUnit说明被标记的方法应该在所有测试方法之前被执行。这对于在测试之前设置测试环境和初始化非常有用。同样只适用于方法上:
    • @After:这个注解用来向JUnit说明被注解的方法应该在所有单元测试之后执行。这个注解通常用来销毁资源,关闭,释放资源或者清理,重置等工作。
    • @Ignore:这个方法用来向JUnit说明被注解的方法应该不被当作测试单元执行。即使它被注解成为一个测试方法,也只能被忽略。
    • @Component:说明被标记的元素,在本例中是一个类,是一个自动检测的目标。这意味着被注解的类,将会被Spring容器实例化并管理。
    • @Autowired:Spring容器将会尝试通过类型(这是一种元素匹配机制)使用这个set方法来自动装配。此注解也可以使用在构造器和属性上,Spring也会根据注解的地方不同采取不同的操作。
    • @FixMethodOrder:指定执行的顺序,正常情况下Junit处理程序负责它按照完全随机的无法预知的顺序执行。当所有的测试方法都相互独立的时候,不推荐使用这个注解。但是,当测试的场景需要测试方法按照一定规则的时候,这个注解就派上用场了。
    •   @Deprecated:说明被标记的元素不应该再度使用。这个注解会让编译器产生警告消息。可以使用到方法,类和域上。相应的解释和  原 因,包括另一个可取代的方法应该同时和这个注解使用。

    •  @SuppressWarnings:说明编译器不会针对指定的一个或多个原因产生警告。

    • @FunctionalInterface:这个注解表示一个函数式接口元素。函数式接口是一种只有一个抽象方法(非默认)的接口。编译器会检查被注解元素,如果不符,就会产生错误。

       

  • 相关阅读:
    八十五:redis之redis的事物、发布和订阅操作 (2019-11-18 22:54)
    八十四:redis之redis的集合、哈希操作
    八十三:redis之redis的字符串、过期时间、列表操作
    八十三:redis之redis的使用场景和安装
    八十二:memcached之python操作memcached
    八十一:memcached之telnet操作memcached
    八十:memcached之安装与参数
    MySQL篇之Navicat可视化工具
    MySQL数据库篇之多表查询
    MySQL数据库篇之单表查询
  • 原文地址:https://www.cnblogs.com/Zhong-Xin/p/5359807.html
Copyright © 2011-2022 走看看