Java 自定义注解
一 注解简介
从 JDK5 开始,Java 增加对元数据的支持,也就是注解。与注释不同,注释是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。而注解是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息。
二 关于 Spring
作为一名后端开发,尤其是 Java 的后端,那么 Spring 可能是大部分人避不开的框架。相信大家在找工作面试时,也经常会被问 Spring 的核心概念等等,其中最重要的两个概念:IOC 和 AOP,都能背的很熟。对于 AOP,应该都能说出是面相切面编程,应用场景是事务或记录日志 balabala。。。
我们灵魂拷问一下,到底有多少人真正地去实现过一个日志框架?尽管有一些候选人说出了实现的大概步骤,但真的是自己真实实现的吗?恐怕未必。不过很多时候面试官也只是心照不宣,只要回答相差不多即可。
为什么会在这里提 Spring?这是因为目前我们的实际开发中,使用 SpringBoot 的占了大多数,所以本篇的示例也将是二者融合。
三 深入 Java 注解
3.1 基本注解
java 中有 5 个基本的注解,包括:
@Override
@Deprecated
@SuppressWarnings
@SafeVarargs
@FunctionalInterface
3.2 注解架构
3.3 Java 注解相关类
Annotation.java、 ElementType.java、RetentionPolicy.java 是 Java 注解的三个主干类。其中:
Annotation 是个接口;
ElementType 是 Enum 枚举类型,用于指定 Annotation 的类型;
RetentionPolicy 是 Enum 枚举类型,它用来指定 Annotation 的策略。通俗点说,就是不同 RetentionPolicy 类型的 Annotation 的作用域不同。
3.4 注解定义方式
我们可以通过下面的代码,来定义一个注解:
版权声明: 本文为 InfoQ 作者【程序员架构进阶】的原创文章。
原文链接:【http://xie.infoq.cn/article/cb6e1947bb370cfad9f76b7f4】。文章转载请联系作者。
评论