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

相关推荐
lg_cool_3 小时前
Python 代码打包
开发语言·python
熊出没3 小时前
CommitLoom 使用教程:在 IntelliJ IDEA 中自动生成 Git 提交信息
java·git·intellij-idea
木雷坞3 小时前
PHP两项9.2分漏洞:Docker容器更新与版本核验教程
开发语言·docker·php
2601_962885723 小时前
如何用 Python 做 MACD 金叉全市场选股?
开发语言·python
FfHUCisI3 小时前
无锁 Reactor 网络模型与 gnet / evio 架构拆解
服务器·开发语言·后端·golang
笨笨饿3 小时前
#145 _Codex 三层故障详细排查与修复步骤
开发语言·人工智能·stm32·单片机·嵌入式硬件
步行cgn3 小时前
Spring MVC POST 请求乱码:原因与完整解决方案
java·spring·mvc
y1su3 小时前
Leetcode 链表,树,回溯 模板
java·leetcode·链表
心中有你02143 小时前
C 语言文件操作详解:从写入、追加到读取与定位的完整 实战
c语言·开发语言
qianyuqiye13 小时前
K8s 命名空间与 Pod 入门:从概念到实战
java·docker·kubernetes