如何使用自定义注解

1、自定义注解需要用到那些元注解

1、@Retention

2、@Target

3、@Documented

4、@Inherited

2、元注解解释说明

@Retention:表示需要在什么级别保存该注释消息,可选参数如下:(RetentionPoicy

RetentionPolicy.SOURCE:停留在java源文件,编译器被丢掉

RetentionPolicy.CLASS:停留在class文件,但是会被jvm丢弃(默认)

RetentionPolicy.RUNTIME:注解在运行时仍然可用,因此可以通过反射机制读取

@Target:用于指定注解可以用于那些java元素,默认是任意元素,可用参数(ElementType

ElementType.CONSTRUCTOR:构造器声明

ElementType.FIELD:成员变量、对象、属性

ElementType.LOCAL_VARIABLE:局部变量声明

ElementType.METHOD:方法声明

ElementType.PACKAGE:包声明

ElementType.PARAMETER:参数声明(废弃)

ElementType.TYPE:类、接口(包括注解类型)或者是enum声明

@Documented :将注解包含在javadoc中,并且在生成的文档中显示该注解的信息

@Inherited:允许子类继承父类中的注解

代码示例:

创建自定义注解:

package com.example.strategy;


import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
@Inherited
public @interface Resources {
    /*
    *  根据实际业务场景来定义这个value
    * */
    String value() default "";
}

使用自定义注解:

@Resources(ResourcesConstant.EQUIP)
@Service
public class EquipStrategy implements ResourcesStrategy {
    @Override
    public ResourcesEntity getResourcesData(String type) {
        ResourcesEntity resources = new ResourcesEntity();
        return resources;
    }
}

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

注。

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

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

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

打赏作者

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

抵扣说明:

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

余额充值