侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

自定义注解加AOP怎么玩?

2022-07-03 星期日 / 0 评论 / 0 点赞 / 38 阅读 / 2927 字

原文地址前言注解是在JDK1.5之后引入的新特性位于 java.lang.annotation ,注解其实就是对代码进行一种特殊的标记,这些标记可以在编译,类加载和运行时被读取,并执行相应的处理。本文

原文地址

前言

注解是在JDK1.5之后引入的新特性位于 java.lang.annotation ,注解其实就是对代码进行一种特殊的标记,这些标记可以在编译,类加载和运行时被读取,并执行相应的处理。本文主要分析如何自定义注解和注解的一些基础知识,然后在配合这AOP在实际运用中玩出新花样。

本文分为三部分

  • 注解分析
  • 自定义注解
    • 编译时注解
    • 运行时注解
  • 整合AOP

原本可以分为两篇文章,但是想来想去还是写一篇。趁热打铁。

注解分析

注解怎么运行的

想要自定义注解就要知道注解是怎么构成的,结合着项目中常用的注解来分析一下注解到底是怎么工作的。

看一下@Override注解 其主要作用是编译时进行格式检查。点进去看一下@Override实现。

点进去发现里面是空的除了两个元注解什么都没有,那么它到底是怎么实现的呢

其实@Override可以理解为是一个标签,它并没有实际的逻辑处理,而实现逻辑的就是注解的用户。它本质就是一个 『标记式注解』,仅被编译器可知 。

举个例子你的老板让你整理一下重要的文档,但是文档太多了你肯定需要把一下重要的文档给标记出来,然后你交给你老板的时候,老板会怎么做?老板当然是看到有标记的文档就去检查一下。

结合着上面的例子使用@Override注解的就是你,你的老板就是 JVM虚拟机,在编译的时候就是你的老板进行检查的时候,JVM发现了这个注解(标记)则就会进行处理 其处理机制主要是JVM内部处理。

总结下来就是:

.

定义注解,扫描注解,执行逻辑

.

元注解

在自定义注解之前我们要知道几个JDK为我们提供的“元注解”,元注解就是定义注解的注解,下面看看都有什么作用。

元注解一共有四个,都可以在 java.lang.annotation 下找到

  • @Target
  • @Retention
  • @Documented
  • @Inherited

@Target

@Target 注解主要用于定义注解使用的位置,被描述的注解可以用在什么地方 。@Target的参数是ElementType枚举类,下面详解都有什么作用。

枚举

广告 广告

评论区