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类里面调用就可以了:

相关推荐
lvrongbao2 分钟前
互联网大厂Java面试场景:从Spring到Redis的技术问答解析
java·redis·spring·微服务·分布式事务
少司府2 分钟前
C++基础入门:vector深度解析(七千字深度剖析)
c语言·开发语言·数据结构·c++·容器·vector·顺序表
霸道流氓气质2 分钟前
Spring AI Advisor 完全指南:拦截器机制与实战全解
java·人工智能·spring
XiYang-DING3 分钟前
【Java EE】 HTTPS协议
java·https·java-ee
yqcoder3 分钟前
突破性能瓶颈:深入理解 JavaScript TypedArray
java·开发语言·javascript
yqcoder4 分钟前
JS 中的“空”之双雄:null vs undefined
开发语言·前端·javascript
ch.ju4 分钟前
Java Programming Chapter 3——Traversal of array
java·开发语言
he___H4 分钟前
子串----
java·数据结构·算法·leetcode
计算机安禾6 分钟前
【c++面向对象编程】第8篇:const成员与mutable:常对象与常函数
开发语言·javascript·c++
counting money6 分钟前
MavenServlet项目文件上传
java·后端