zoukankan      html  css  js  c++  java
  • Spring

    1.自定义注解如何实现?

    1、接口使用@interface定义

    2、通过继承以下注解,实现功能:元注解@Target,@Retention,@Documented,@Inherited 

    package org.springframework.stereotype;
    
    import java.lang.annotation.Documented;
    import java.lang.annotation.ElementType;
    import java.lang.annotation.Retention;
    import java.lang.annotation.RetentionPolicy;
    import java.lang.annotation.Target;
    import org.springframework.core.annotation.AliasFor;
    
    @Target({ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Component
    public @interface Controller {
        @AliasFor(
            annotation = Component.class
        )
        String value() default "";
    }

    2.元注解的有哪些?

    元注解包含:

    @Target,
    @Retention,
    @Documented,
    @Inherited 

    具体的含义是:

    @Target 表示该注解用于什么地方,可能的 ElemenetType 参数包括: 
    * ElemenetType.CONSTRUCTOR 构造器声明 
    * ElemenetType.FIELD 域声明(包括 enum 实例) 
    * ElemenetType.LOCAL_VARIABLE 局部变量声明 
    * ElemenetType.METHOD 方法声明 
    * ElemenetType.PACKAGE 包声明 
    * ElemenetType.PARAMETER 参数声明 
    * ElemenetType.TYPE 类,接口(包括注解类型)或enum声明 
     
    @Retention 表示在什么级别保存该注解信息。可选的 RetentionPolicy 参数包括: 
    * RetentionPolicy.SOURCE 注解将被编译器丢弃 
    * RetentionPolicy.CLASS 注解在class文件中可用,但会被VM丢弃 
    * RetentionPolicy.RUNTIME VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息。 
     
    @Documented 将此注解包含在 javadoc 中 
     
    @Inherited 允许子类继承父类中的注解
  • 相关阅读:
    安装python3的详细教程
    MySQL中的各种引擎
    MySQL的语句执行顺序
    MySQL 5.7新增加的json数据类型
    MySQL5.6 PERFORMANCE_SCHEMA 说明
    MySQL中的sys系统数据库是干嘛的
    MySQL中information_schema数据库是干啥的
    mysql中You can’t specify target table for update in FROM clause错误解决方法
    win10 localhost 解析为::1 的解决办法
    python 中对象is和==是怎么比较的
  • 原文地址:https://www.cnblogs.com/frankcui/p/14347350.html
Copyright © 2011-2022 走看看