当前位置: 首页 > news >正文

xml方式实现AOP

一、切点表达式

1. execution(void com.itheima.aop.Target.method())不常用

   匹配com.itheima.aop.Target类中无参、返回类型为 void的 method()方法。

2. execution(void com.itheima.aop.Target.*(..))

   匹配 com.itheima.aop.Target类中任意参数、返回类型为 void的所有方法。

3. execution(* com.itheima.aop.*.*(..))最常用

   匹配com.itheima.aop 包下任意类、任意返回方法、任意参数。

4. execution(* com.itheima.aop..*.*(..))

   匹配 com.itheima.aop 包及其任意子包下,任意类、任意返回值、任意参数的所有公有方法。

5. execution(* *..*.*(..))

   匹配任意包、任意类、任意返回值、任意参数的所有公有方法(即“全扫”)。

二、通知类型

三、切点表达式的抽取

四、基于注解的AOP开发

上个是从xml里配置,这个是在代码里通过注释配置

五、注解汇总

@Component("myAspect") :Spring 通用型组件注解,把当前类注册成 Bean, id=myAspect 。

 配合  <context:component-scan/>  或  @SpringBootApplication  扫描即可;

后面在 XML 或别的类里可直接  @Autowired MyAspect xxx 。
注意
如果只写  @Component  不给名字,默认 Bean id 是类名首字母小写  myAspect 。
2. @Aspect :告诉 Spring 这是一个切面类,才会去解析里面的  @Before/@Around  等通知。
怎么用
必须与 @Component  同时出现(或 XML 里配  <bean> ),否则 Spring 根本扫描不到。
注意
纯 Java 配置时记得加  @EnableAspectJAutoProxy或<aop:aspectj-autoproxy/> ,否则 @Aspect 失效 。

@Component("myAspect")   // 1. 先让 Spring 扫描到并变成 Bean
@Aspect                   // 2. 再告诉 Spring“这是个切面”
public class LogAspect {// 定义切点@Pointcut("execution(* com.example.service.*.*(..))")public void pt() {}// 前置通知@Before("pt()")public void before(JoinPoint jp) {System.out.println("【切面】方法开始 -> " + jp.getSignature().getName());}
}

http://www.dtcms.com/a/577761.html

相关文章:

  • XML签名
  • 云原生基石的试金石:基于 openEuler 部署 Docker 与 Nginx 的全景实录
  • 浏阳网站建设卷云网络南和网站seo
  • postgresql pg_upgrade源码阅读--doing
  • oracle导出 导入
  • 如何自己做个简单网站wordpress 中国提速
  • 程序安装包在ubuntu安装教程,以opencv安装为例
  • Linux 服务器内存监控与优化指南
  • APP应用怎么选择游戏盾
  • 医院网站建设联系方式为企业做一件小事
  • 天津建设网投标网站群晖 wordpress 怎么映射到外网
  • HCIP AI 认证含金量高吗?报考条件是什么?
  • WebActiveX浅析
  • 普中51单片机学习笔记-点亮第一个LED
  • 光子精密QM系列闪测仪——为精准而生,为智造而来
  • docker 下搭建 nacos
  • 【stm32简单外设篇】- EC11 旋转编码器(带按键)
  • R语言机器学习算法实战系列(三十)多组ROC曲线分析教程
  • Linux使用tomcat发布vue打包的dist或html
  • 网站设计大概在什么价位营销型网站设计稿
  • map和set,咕咕咕!
  • .net 面试题目
  • 多光谱图像融合:IHS、PCA与小波变换的MATLAB实现
  • Responder工具在内网渗透中的应用
  • 公积金网站怎么做增员做一个网站的价格
  • 如何解析网站十堰响应式网站建设
  • 海光K100对决NVIDIA A800,AI算力谁更强?
  • h5网站建设建站网站建设后的专人维护
  • mac电脑composer命令如何指定PHP版本
  • 【代码随想录算法训练营——Day60】图论——94.城市间货物运输I、95.城市间货物运输II、96.城市间货物运输III