使用AOP实现方法执行时间和自定义注解
环境:IDEA2018+JDK1.8+SpringBoot
第一步:在pom文件中引入依赖(度娘有很多(*^▽^*));
<!--引入AOP的依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
第二步:在application文件中添加spring配置(我在这里用的是.yml文件);
不提倡复制(//◡‿◡):<aop:aspectj-autoproxy proxy-target-class="true"/>
第三步:创建实现工具类;
@Aspect:声明此类为切面类
@Component:将此类配置bean,加入到IOC容器中
@Pointcut(point):声明切入点,point是表达式
@Around():环绕通知(不了解的可以问度娘,我就不说了(^v^!))
接下来,当你访问路径下的方法时会自动拦截到此方法,控制台输出信息。
自定义注解:
说到自定义注解需要提到一个名词——元注解,如下图:
元注解包括:
@Target
@Retention
@Documented
@Inherited
创建自定义注解(是不是有点简单了(//*=*)):
[元注解]
public @interface 注解名称 {}
最后,我们可以对上面的工具类实施优化;
将@Pointcut(point) ==》@Pointcut(value = "@annotation(自定义注解的全限定名)")
然后我们在想要知道执行时间的方法上加上此注解(我们自定义的注解)就可以知道该方法的执行时间了。