AOP切入点表达式和使用连接点获取匹配到的方法信息

目录

第一种

[execution(访问修饰符? 返回值 包名.类名.?方法名(方法参数) throws 异常?)](#execution(访问修饰符? 返回值 包名.类名.?方法名(方法参数) throws 异常?))

第二种

[@annotation(com.itheima.anno.Log](#@annotation(com.itheima.anno.Log)

首先,自定义一个注解,可以自己随意命名:


第一种

execution(访问修饰符? 返回值 包名.类名.?方法名(方法参数) throws 异常?)

这种有两个通配符:* 和**..**

..:一般用在匹配方法里面的参数个数,表示任意个参数都进行匹配

*:表示任意的包或者方法

例如:

第二

@annotation(com.itheima.anno.Log

首先,自定义一个注解,可以自己随意命名:

java 复制代码
package com.zaizai.aop;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyLog {
}

定义好接口之后,你只需要在你需要APO的业务层加上这个接口:

最后只用在APO类里面调用就可以了:

相关推荐
毕设源码-邱学长1 小时前
【开题答辩全过程】以 基于Java的学校住宿管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
rookieﻬ°2 小时前
PHP框架漏洞
开发语言·php
炸膛坦客3 小时前
单片机/C/C++八股:(二十)指针常量和常量指针
c语言·开发语言·c++
兑生3 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
daidaidaiyu3 小时前
一文学习 Spring 声明式事务源码全流程总结
java·spring
炸膛坦客4 小时前
单片机/C/C++八股:(十九)栈和堆的区别?
c语言·开发语言·c++
零雲4 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
Jay_Franklin4 小时前
Quarto与Python集成使用
开发语言·python·markdown
2401_831824965 小时前
代码性能剖析工具
开发语言·c++·算法
是wzoi的一名用户啊~5 小时前
【C++小游戏】2048
开发语言·c++