java 切片_JAVA自定义注解并切片应用

本文介绍了Java自定义注解的创建、元注解的使用,并通过一个权限校验的例子展示了如何利用切片(AOP)实现方法级别的权限控制。通过自定义@HasPermission注解和切面处理类,实现了在不侵入业务代码的情况下进行权限验证。
摘要由CSDN通过智能技术生成

Java支持注解形式,合理使用注解,可以对我们的编程提供极大的便利。JAVA自身提供了三种注解,分别是:@Override,@Deprecated,@SuppreWarnings.大家平时应该看见这个这三个注解,除此之外,我们还可以自定义注解。对于自定义的注解,可以加上自己的处理逻辑,这样在某些场合,我们就可以用注解标示某些类或这个方法,这样即可做到不侵入类或者方法内部修改代码,就可以完成我们指定的功能,很是方便。

一、 JAVA自定义注解

@interface MyAnnotation{}

一个最基本的Java自定义注解形式如上所示,但是,有一些点需要注意下:

1、注解内方法不能抛出任何异常;

2、方法应该返回以下之一:基本数据类型, 字符串, 类, 枚举或这些类型的数组形式.

3、注解内方法不能有任何参数;

4、必须使用@interface来定义其为一个注解;

5、注解内方法方法可以设置一个默认值;

1.1、注解类型

主要有三种类型的注解:

71e4625d2ba1?from=timeline

java-annotation-types.jpg

1)Marker Annotation

注解没有任何方法,就称为Marker annotation,比如:

@interface MyAnnotation{}

比如java中的@Override 和@Deprecated 注解就是 marker annotation.

2) Single-Value Annotaion

只有一个方法的注解就称为Annotation,比如:

@interface MyAnnotation{

int value();

}

我们可以提供默认值,比如:

@interface MyAnnotation{

int value() default 0;

}

应用这个注解示例如下:

@MyAnnotation(value=10)

其中value可以设置为任何int数值。

3)Multi-Value Annotation

如果一个注解有超过一个方法,那么就称为Multi-Value annotation。比如:

@interface MyAnnotation{

int value1();

String value2();

String value3();

}

我们可以为注解的方法提供默认值,比如:

@interface MyAnnotation{

int value1() default 1;

String value2() default "";

String value3() default "xyz";

}

应用这个注解示例如下:

@MyAnnotation(value1=10,value2="Arun Kumar",value3="Ghaziabad")

1.2、Java元注解

Java有四种元注解,元注解专职负责注解其他的注解:

@Target

@Tar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值