java元注解(自定义注解的方法)

22 篇文章 0 订阅

java中的元注解:我们可以理解为自定义注解,
@Retention(RetentionPolicy.RUNTIME)注释反方式
@Target()修饰的对象范围
@Documented注解应该被 javadoc工具记录. 默认情况下,javadoc是不包括注解的
@Configuration 注册为配置文件,内置@Component 因为没了xml无法配置
@Inherited注解之间可以继承

@Retention()中的三个值
1.RetentionPolicy.SOURCE —— 在源代码级别保留,编译时就会被忽略
2.RetentionPolicy.CLASS —— 编译时被保留,在class文件中存在,但JVM将会忽略
3.RetentionPolicy.RUNTIME —— 将被JVM保留,所以他们能在运行时被JVM或其他使用反射机制的代码所读取和使用.

@Target()
1.CONSTRUCTOR:用于描述构造器
2.FIELD:用于描述域
3.LOCAL_VARIABLE:用于描述局部变量
4.METHOD:用于描述方法
5.PACKAGE:用于描述包
6.PARAMETER:用于描述参数
7.TYPE:用于描述类、接口(包括注解类型) 或enum声明
8.ANNOTATION_TYPE//注解

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE,ElementType.METHOD})
@Documented
@Configuration
@Inherited
public @interface LoginAnnotate {
      String value() ;
    /*
        java中的元注解:我们可以理解为自定义注解
        @Retention(RetentionPolicy.RUNTIME)
        @Target()修饰的对象范围
        @Documented注解应该被 javadoc工具记录. 默认情况下,javadoc是不包括注解的
        @Configuration 注册为配置文件,内置@Component 因为没了xml无法配置
        @Inherited注解之间可以继承

        @Retention()中的三个值
            1.RetentionPolicy.SOURCE —— 在源代码级别保留,编译时就会被忽略
            2.RetentionPolicy.CLASS —— 编译时被保留,在class文件中存在,但JVM将会忽略
            3.RetentionPolicy.RUNTIME —— 将被JVM保留,所以他们能在运行时被JVM或其他使用反射机制的代码所读取和使用.
        @Target()
            1.CONSTRUCTOR:用于描述构造器
            2.FIELD:用于描述域
            3.LOCAL_VARIABLE:用于描述局部变量
            4.METHOD:用于描述方法
            5.PACKAGE:用于描述包
            6.PARAMETER:用于描述参数
            7.TYPE:用于描述类、接口(包括注解类型) 或enum声明
            8.ANNOTATION_TYPE//注解
    */
}

使用

@RestController
public class testController {

    @RequestMapping("/A")
    @LoginAnnotate("test")  //使用自定义注解  value 属性可以省略不声明
    public String A(){
        return "ok";
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值