美文网首页
Java-注解

Java-注解

作者: Rockie_h | 来源:发表于2018-03-20 23:43 被阅读20次

主要知识点

Annotation思维导图.png

Annotation和class interface等java关键字一样,提供注解的定义,所有自定义注解都默认继承Annotation,就像所有类都默认继承Object一样。

一个简单测试例

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
public @interface Hello
{
    /**
     * 注解方法,无方法体,无异常,相当于注解的一个配置参数,参数名就是方法名
     */
    String hello() default "";
}

@Hello(hello="hello world!")
public class HelloWorld 
{
    public static void main(final String[] args)
    {
        Annotation annotation = HelloWorld.class.getAnnotation(Hello.class);
        System.out.println(annotation.annotationType());
        if(annotation instanceof Hello)
        {
            Hello hello = (Hello)annotation;
            System.out.println(hello.hello());
        }       
    }
}

运行结果:
interface com.rockie.annotation.test.Hello
hello world!

注解在开源框架中的应用

注解本身无法主动提供任何能力,必须要通过调用者或解析框架来解析以后,根据注解来控制程序行为。注解在框架中的应用非常广泛,如下举例说明。

  1. spring注解:后面解读spring源码会专门介绍
  2. dubbo中的注解:
    dubbo可扩展的核心是扩展点机制,通过注解实现。主要注解包括@SPI @Adaptive等。
    后面补充源码说明...
  3. 工作中一个大数据分析存储框架的使用:
    通过自定义注解@TQL,标识自定义算子,实现TQL语句中可以调用java扩展的算法。如下示例所示,虽然没看过源码,但是可以很容易推测出来实现原理。框架服务会加载扩展类,解析类注解,并缓存起来@TQL注解类对应的注解value(parseMac)。sql解析的时候,会根据parseMac获得实际的运算算子,然后构建查询语句执行。
sql: select parseMac(mac) as mac ... from ... 

@TQL(value="parseMac")
public class ParseMac
{
}
~~~|

相关文章

  • JAVA-注解 Annotation

    JAVA-注解 Annotation sschrodinger 2018/6/4 基本 注解 Java 注解用于为...

  • Java-注解

    主要知识点 Annotation和class interface等java关键字一样,提供注解的定义,所有自定义注...

  • java-注解

    注解分类: 源码注解,编译注解,运行注解 源码注解:编译后的.class 后没有 boolean exists =...

  • Java-注解

    元注解 元注解的作用就是负责注解其他注解。 Java5.0定义了4个标准的meta-annotation类型,它们...

  • java-注解

    注解分类 源码注解:注解只在源码中存在,在class中就不存在了编译时注解:注解在源码和class文件中都存在运行...

  • java-注解

    每当创建描述符性质的类或接口时,一旦其中包含了重复性的工作,那就可以考虑使用注解来简化与自动化该过程。 java ...

  • Java-注解

    一、JDK自带注解 我们最常见的就是@Override,表示方法重写,覆盖父元素的该方法。 除此之外还有Depre...

  • java-注解

    注解的概念 注解(Annotation),也叫元数据(Metadata),是Java5的新特性,JDK5引入了Me...

  • Java-注解Annotation

    1 注解的写法 2 注解放在哪里? 类的上面,属性上面,方法上面,构造方法上面,参数前面 3. 注解的作用 用来充...

  • Hello Java

    目录 Java-基础(1/6) Java-对象(2/6) Java-核心库类 上(3/6) Java-核心库类下(...

网友评论

      本文标题:Java-注解

      本文链接:https://www.haomeiwen.com/subject/tkuiqftx.html