zoukankan      html  css  js  c++  java
  • spring boot: Annotation 注解之@Target的用法介绍

    前言

    目前,越来越多的架构设计在使用注解,例如spring3.0、struts2等框架。让我们先来看看注解的定义。如下是一段使用了JDK 5 Annotation @Target的代码:

    @Target({ElementType.METHOD})
    @Retention(RetentionPolicy.RUNTIME)
    @Inherited
    @Documented
    public @interface AsynLog {
      
     }
    

      

    一、@Target的用法


    java.lang.annotation.Target

    用于设定注解使用范围

    java.lang.annotation.ElementType

    Target通过ElementType来指定注解可使用范围的枚举集合


    二、ElementType的用法

     

    取值 注解使用范围
    METHOD 可用于方法上
    TYPE 可用于类或者接口上
    ANNOTATION_TYPE 可用于注解类型上(被@interface修饰的类型)
    CONSTRUCTOR 可用于构造方法上
    FIELD 可用于域上
    LOCAL_VARIABLE 可用于局部变量上
    PACKAGE 用于记录java文件的package信息
    PARAMETER 可用于参数上

    这里重点说明下:ElementType. PACKAGE。它并不是使用在一般的类中,而是用在固定的文件package-info.java中。这里需要强调命名一定是“package-info”。由于package-info.java并不是一个合法的类,使用eclipse创建类的方式会提示不合法,所以需要以创建文件的方式来创建package-info.java。

    例如,定义可使用范围PACKAGE:

    @Target({ElementType.PACKAGE,ElementType.METHOD})
    @Retention(RetentionPolicy.RUNTIME)
    @Inherited
    @Documented
    public @interface AsynLog {
      
    }
    

     

     那么,创建文件:package-info.java,内容如下:

    @AsynLog
    package org.my.commons.logs.annotation; 
    

      

  • 相关阅读:
    Android 4.1 for Developers
    Frame Animation 帧动画
    07事事精明,人人远离。
    Launcher 拖拽 流程小结『android 2.3 2.2』
    Android开发书籍推荐
    My first App EncryptWheel is in WAITING FOR REVIEW status
    ubuntu安装显卡驱动
    Shell脚本学习笔记(十)文件操作
    Shell脚本学习笔记(四)流程控制
    Shell脚本学习笔记(五)函数
  • 原文地址:https://www.cnblogs.com/achengmu/p/8275595.html
Copyright © 2011-2022 走看看