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

相关推荐
basketball6162 分钟前
C++ bitset 头文件完全指南
开发语言·c++
Kiling_07045 分钟前
Java IO流:字节流实战与性能优化
java·开发语言·php
糯米团子74916 分钟前
javascript高频知识点
开发语言·前端·javascript
January120717 分钟前
IDEA 快捷键
java·ide·intellij-idea
周杰伦fans21 分钟前
C# 异常继承深度解析:从设计原则到 sealed 关键字的奥秘
java·jvm·c#
搬石头的马农22 分钟前
从零配置Claude自动修Bug:6步打造全自动开发流程
java·人工智能·python·bug·ai编程
小马爱打代码29 分钟前
Redis Key 过期后会立刻删除吗?过期删除与内存淘汰策略详解
java·redis·缓存
Wonderful U30 分钟前
基于Python+Django的在线题库与智能阅卷系统:从痛点分析到完整实现
开发语言·python·django
码语智行31 分钟前
拦截器、接口限流、过滤器、防重发/幂等性功能说明
开发语言·网络·python
liulilittle34 分钟前
麻将牌堆渲染(Lua)
开发语言·lua