Java自定义注解(一)

自定义注解的意义

自定义注解可以使一些计算、验证、权限等逻辑与实际的业务逻辑分离,使代码更优雅,耦合度更低

自定义注解的语法

自定义注解的使用其实很简单,一般需要下面两步既可以完成

  1. 在新建一个注解,和新建一个类非常相似image.png
  2. 在这个类上面加上元注解,所谓的元注解就是注解的注解,是JDK里面已经定义好的注解。比如我们经常见到的@Override@Deprecated@SuppressWarnings(。在自定义注解的时候,通常我们需要四个元注解,如下所示
注解意义
@Retention通过字面意思应该知道就是这个注解保留到什么时候
@Target作用在什么之上,比如类,方法,字段,参数等
@Documented用于生成javadoc,不怎么常用
@Inherited是否可以被子类继承,不常用

@Retention注解点进去发现,可选择的值是RetentionPolicy枚举,里面的值是SOURCE、CLASS、RUNTIME,表示可以保留到这三个级别
@Target可以多选,点进去源码可以发现可选择的值也是枚举类,分别有TYPE、FIELD、METHOD、PARAMETER、CONSTRUCTOR等

自定义注解的完整代码示例

package com.example.annotaion;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

//注解保留到什么时候
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
public @interface CacheResult {

    //缓存key
    String key();

    //缓存名称
    String cacheName();

    //过期时间
    String expireDate() default "";

    //是否过期
    boolean expire() default false;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

micro_cloud_fly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值