背景
写这篇文章的背景是项目中需要一个测试方法执行时间的功能。主要有两种实现方式:
在每个方法执行前后写入代码,这样冗余代码比较多,发布项目的话,还要去修改逻辑代码,不便于操作。
在第一种方案不可行的情况下,就思考到了结合AOP,来实现我们自定义的注解。
知识准备
@interface
在编写自定义的注解类之前,我们先要了解@interface,这是标识了一个注解类的主要元素,这里不再赘述。然后我们需要看看注解类上面的元注解
@Target
该注解表明注解类能够作用的范围,也就是作用在哪个上面:类,方法,参数等等。
里面的参数都是可以多选的,使用:@Target()。
@Retention
@Retention可以设置注解的级别,分为三种,都有其特定的功能。
@Documented
@Documented 注解表明这个注解应该被Javadoc工具记录,默认情况下,Javadoc是不包括注解的,但是如果声明注解时指定了@Documented,则它会被Javadoc之类的工具处理,所以注解类型信息也会被包括在生成的文档中。
@Order
@Order注解定义了组件的加载顺序,这个注解包含一个value属性。属性接受整型值。值越小拥有越高的优先级。Ordered.HIGHEST_PRECEDENCE这个属性值是最高优先级的属性,它的值是-2147483648,对应的最低属性值是Ordered.LOWEST_PRECEDENCE,它的值是2147483647。
开始撸代码
编写注解类
使用AOP进行切面编程
因为我是要将自定义Annotation集成在Springboot项目中,需要以下几个步骤。
引入Maven
编写切面方法
使用自定义Annotation
效果
结束语
使用注解能够在某些特定场景下方便编程的开发,后续会加入一些高级的注解使用场景。
领取专属 10元无门槛券
私享最新 技术干货