通过注解实现spring aop

本文介绍了如何通过注解方式实现Spring AOP,包括AOP的基本概念、优势,以及AspectJ注解声明切面的方法。文章详细阐述了切面、通知等关键术语,并列举了AspectJ支持的五种通知类型。
摘要由CSDN通过智能技术生成

本文简单写一下通过注解的方式实现spring aop

Aop 简介

 Aop(Aspect-Oriented Programming,面向切面编程):是一种新的方法论,是对传统OOP(Object-Oriented Programming,面向对象编程)的补充。

Aop 的优势

  • 每个事物逻辑位于一个位置,代码不分散,便于维护和升级。
  • 业务模块简介,只包含核心业务代码。

Aop 术语

  • 切面(Aspect) :横切关注点(跨应用程序多个模块功能),被模块化的特殊对象。
  • 通知(Advice):切面必须要完成的工作。
  • 目标(Target):被通知的对象。
  • 代理(Proxy):向目标对象应用通知后创建的代理对象。
  • 连接点(Jion Point):程序执行的某个特定的位置。如一个类的某个方法调用前、调用后、方法抛出异常等;
  • 切点(Point Cut):每个类都有多个连接点,例如Math的所有方法都是连接点,既连接点事程序类中的客观存在的事务。AOP通过切点定位到特定的连接点。类比:连接点相当于数据库中的记录,切点相当于查询条件。切点通过 org.springframework.app.Piontcut 接口进行描述,它使用类和方法作为连接点的查询条件。

用 AspectJ 注解声明切面

要在 spring 中声明 AspectJ 切面,只需要在 IOC容器中将切面声明为 Bean 实例。当在 Spring IOC 容器中初始化 AspectJ 切面之后,Spring IOC 容器就会为那些与 AspectJ 切面想匹配的 Bean 创建代理。切面声明只需要在类上加 @AspectJ注解。

AspectJ 支持的五种通知类型:

  • @Before :前置通知,在方法执行之前执行。
  • @After :后置通知,在方法执行之后执行。
  • @AfterReturning :返回通知,在方法返回结果之后执行。
  • @AfterThrowing :异常通知,在方法发生异常后执行。
  • @Around :环绕通知,围绕方法执行。可以实现前面四种通知的集合。

附代码:

maven中pom配置:

        <properties>
		<project.build.sourceEncoding>UTF
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值