写点什么

Java 自定义注解

发布于: 11 小时前
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 注解架构

图片来自csdn,点击图片可跳转到原文链接

3.3 Java 注解相关类

Annotation.java、 ElementType.java、RetentionPolicy.java 是 Java 注解的三个主干类。其中:

  • Annotation 是个接口;

  • ElementType 是 Enum 枚举类型,用于指定 Annotation 的类型;

  • RetentionPolicy 是 Enum 枚举类型,它用来指定 Annotation 的策略。通俗点说,就是不同 RetentionPolicy 类型的 Annotation 的作用域不同。

3.4 注解定义方式

我们可以通过下面的代码,来定义一个注解:

import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import java.lang.annotation.Documented;
@Documented@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)public @interface DemoAnnotation {}
复制代码


发布于: 11 小时前阅读数: 4
用户头像

磨炼中成长,痛苦中前行 2017.10.22 加入

微信公众号【程序员架构进阶】。多年项目实践,架构设计经验。曲折中向前,分享经验和教训

评论

发布
暂无评论
Java自定义注解