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

相关推荐
不吃香菜学java8 小时前
Redis的java客户端
java·开发语言·spring boot·redis·缓存
captain3768 小时前
事务___
java·数据库·mysql
北漂Zachary8 小时前
四大编程语言终极对比
android·java·php·laravel
小江的记录本8 小时前
【网络安全】《网络安全常见攻击与防御》(附:《六大攻击核心特性横向对比表》)
java·网络·人工智能·后端·python·安全·web安全
贵沫末8 小时前
python——打包自己的库并安装
开发语言·windows·python
文祐9 小时前
C++类之虚函数表及其内存布局(一个子类继承一个父类)
开发语言·c++
zuowei28899 小时前
华为网络设备配置文件备份与恢复(上传、下载、导出,导入)
开发语言·华为·php
xiaohe079 小时前
超详细 Python 爬虫指南
开发语言·爬虫·python
嗑嗑嗑瓜子的猫10 小时前
Java!它值得!
java·开发语言
xiaoshuaishuai810 小时前
C# GPU算力与管理
开发语言·windows·c#