Spring AOP Aspect的简单实现(基于注解)

第1步:声明使用注解

<!-- 配置扫描注解--> 扫描包的位置
<context:component-scan base-package="com.zz"/>

<!-- 配置aop 注解生效 -->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>

<!--aop配置 切面类名--> 用于申明切面类
<aop:config>
<aop:aspect ref="myAspect"></aop:aspect>
</aop:config>

第2步:使用@service注解声明service和 切面 bean

 

使用@Component切面类配置 bean   @Aspect 

 

第3步:声明切面

 使用配置在 xml中的切面类 @Aspect  中声明

 

 

 

 

 

第4步:声明前置通知 使用@before 在前置通知上声明

 

 

第5步:声明公共切入点 方便其他方法引用

 

 

 

第6步:声明后置通知

 

第7步:声明环绕通知

 

 

第8步:声明异常通知

 

第9步:声明最终通知

 

 

 

注解总结

@Aspect  声明切面,修饰切面类,从而获得 通知。

通知

         @Before 前置

         @AfterReturning 后置

         @Around 环绕

         @AfterThrowing 抛出异常

         @After 最终

切入点

 

         @PointCut ,修饰方法 private void xxx(){}  之后通过“方法名”获得切入点引用

 

 

 

 

 

 

注解总结

@Aspect  声明切面,修饰切面类,从而获得 通知。

通知

         @Before 前置

         @AfterReturning 后置

         @Around 环绕

         @AfterThrowing 抛出异常

         @After 最终

切入点

         @PointCut ,修饰方法 private void xxx(){}  之后通过“方法名”获得切入点引用

posted @   成子吃橙子  阅读(3345)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示