26.Spring-AOP(切面编程)

这篇具有很好参考价值的文章主要介绍了26.Spring-AOP(切面编程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、Spring-AOP。

(1)AOP的简介。 

(2)AOP的底层实现-动态代理。 

(2.1)JDK的动态代理。

 (2.2)cglib的动态代理。

 (3)AOP的相关概念。 

(4)xml配置——AOP的快速入门。

(5) xml配置AOP详解。

(5.1)切点表达式的写法。 

(5.2)通知的类型。

(5.3)切点表达式的抽取。

(5.4)知识要点。

(6)注解配置——AOP的快速入门。

(7)注解配置AOP详解。

(7.1)注解通知的类型。

​(7.2)切点表达式的抽取。

(7.3) 知识要点。 


一、Spring-AOP。

(1)AOP的简介。 

26.Spring-AOP(切面编程)

(2)AOP的底层实现-动态代理。 

26.Spring-AOP(切面编程)

(2.1)JDK的动态代理。

26.Spring-AOP(切面编程)

 (2.2)cglib的动态代理。

26.Spring-AOP(切面编程)

 (3)AOP的相关概念。 

26.Spring-AOP(切面编程)

26.Spring-AOP(切面编程)

(4)xml配置——AOP的快速入门。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
    <!--1、目标对象-->
    <bean id="target" class="aop.Target"/>
    <!--2、切面对象-->
    <bean id="myAspect" class="aop.MyAspect"></bean>
    <!--3、配置织入:告诉spring框架,哪些方法需要进行哪些增强(前置,后置,等等...)-->
    <aop:config>
        <!--声明切面-->
        <aop:aspect ref="myAspect">
            <!--切面:切点+通知,注意下面的这组</aop:before>标签要在同一行才行,不然会报错-->
            <aop:before method="before" pointcut="execution(public void aop.Target.save())"></aop:before>
            <aop:around method="around" pointcut="execution(* aop..*.*(..))"/>
            <aop:before method="before" pointcut="execution(* aop.*.*(..))"></aop:before>
            <aop:after-returning method="afterReturning" pointcut="execution(* aop.*.*(..))"/>
            <aop:after-throwing method="afterThrowing" pointcut="execution(* aop..*.*(..))"></aop:after-throwing>
            <aop:after method="after" pointcut="execution(* *..*.*(..))"/>

        <!--抽取切点表达式-->
            <aop:pointcut id="myPointcut" expression="execution(* aop.*.*(..))"/>
            <aop:around method="around" pointcut-ref="myPointcut"/>
            <aop:after method="after" pointcut-ref="myPointcut"/>
        </aop:aspect>
    </aop:config>
</beans>

26.Spring-AOP(切面编程)

(5) xml配置AOP详解。

(5.1)切点表达式的写法。 

26.Spring-AOP(切面编程)

(5.2)通知的类型。

26.Spring-AOP(切面编程)

(5.3)切点表达式的抽取。

26.Spring-AOP(切面编程)

(5.4)知识要点。

26.Spring-AOP(切面编程)

(6)注解配置——AOP的快速入门。

26.Spring-AOP(切面编程)

(7)注解配置AOP详解。

(7.1)注解通知的类型。

26.Spring-AOP(切面编程)(7.2)切点表达式的抽取。

@Component("myAspect")
@Aspect//标注当前MyAspect是一个切面类
public class MyAspect {  
    @Around("pointcut()")
    public Object around(ProceedingJoinPoint pjo) throws Throwable {
        System.out.println("环绕前增强......");
        Object proceed = pjo.proceed();//切点方法
        System.out.println("环绕后增强......");
        return proceed;
    }  
    //@After("execution(* *..*.*(..))")
    @After("MyAspect.pointcut()")
    public void after(){
        System.out.println("最终增强......");
    }

    //定义一个切点表达式
    @Pointcut("execution(* *..*.*(..))")
    public void pointcut(){ }//这个只是借助这个方法写注解,即便把这个改成字段也行...

}

 @Around("pointcut()") 与@Around("类名.pointcut()")都可以。

26.Spring-AOP(切面编程)

(7.3) 知识要点。 

26.Spring-AOP(切面编程)文章来源地址https://www.toymoban.com/news/detail-423757.html

到了这里,关于26.Spring-AOP(切面编程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [SSM]Spring面向切面编程AOP

    目录 十五、面向切面编程AOP 15.1AOP介绍 15.2AOP的七大术语 15.3切点表达式 15.4使用Spring的AOP 15.4.1准备工作 15.4.2基于AspectJ的AOP注解式开发 15.4.3基于XML配置方式的AOP(了解) 15.5AOP的实际案例:事务处理 15.6AOP的实际案例:安全日志 IoC使软件组件松耦合。AOP让你能够捕捉系统中经

    2024年02月15日
    浏览(49)
  • Spring AOP(面向切面编程)和方法拦截

    Spring AOP(面向切面编程)和方法拦截 Spring是一款广泛使用的Java开发框架,提供了丰富的功能和工具,用于简化企业级应用程序的开发。其中一个重要的特性是面向切面编程(AOP)和方法拦截。本文将介绍Spring AOP和方法拦截的概念、工作原理以及在实际开发中的应用。 在软

    2024年02月05日
    浏览(46)
  • 认识 spring AOP (面向切面编程) - springboot

    本篇介绍什么是spring AOP, AOP的优点,使用场景,spring AOP的组成,简单实现AOP 并 了解它的通知;如有错误,请在评论区指正,让我们一起交流,共同进步! 本文开始 AOP: 面向切面编程,也就是面向某一类编程,对某一类事情进行统一处理; spring AOP: 是实现了AOP这种思想的一

    2024年02月14日
    浏览(51)
  • JAVA:使用 Spring AOP 实现面向切面编程

    1、简述 在现代的软件开发中,面向切面编程(AOP)是一种重要的编程范式,它允许我们将横切关注点(如日志记录、性能监控、事务管理等)从应用程序的核心业务逻辑中分离出来,以提高代码的模块化和可维护性。Spring 框架提供了强大的 AOP 支持,使得我们可以轻松地实

    2024年04月13日
    浏览(46)
  • 切面的魔力:解密Spring AOP 面向切面编程

    目录 一、AOP简介 1.1 什么是AOP ? 1.2 什么是面向切面编程 ? 1.3 AOP 的特点 二、 AOP的基本概念解读 2.1 AOP的基本概念 2.2 AOP 概念趣事解读 三、代码情景演示 3.1 编写目标对象(超级英雄们正常的行动) 3.2 编写通知类 3.2.1 前置通知 3.2.2 后置通知 3.2.3 异常通知 3.2.4 环绕通知

    2024年02月11日
    浏览(58)
  • 【Java 初级】Spring核心之面向切面编程(AOP)

    tip:作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。 💕💕 推荐: 体系化学习Java(Java面试专题) AOP(面向切面编程)是一种编程范式,用于将横切关注点(如日志记录、性能统计等

    2024年02月04日
    浏览(51)
  • spring6-AOP面向切面编程

    1、场景模拟 搭建子模块:spring6-aop 1.1、声明接口 声明计算器接口Calculator,包含加减乘除的抽象方法 1.2、创建实现类 1.3、创建带日志功能的实现类 1.4、提出问题 ①现有代码缺陷 针对带日志功能的实现类,我们发现有如下缺陷: 对核心业务功能有干扰,导致程序员在开发核

    2024年02月08日
    浏览(54)
  • 【Spring AOP】结合日志面向切面编程 两种写法

            这里需要提前了解什么是Spring的AOP(Aspect Oriented Programming)。是在OOP(面向对象)思想的一种拓展思想。 简单来说就是将某个代码块嵌入到其它的代码块中 。笔者先前学Spring也有学什么IoC啊AOP啊,但实际上没有用过、就那听过学过没啥用的。。没会儿就忘记了。

    2024年02月13日
    浏览(44)
  • 【JavaEE】面向切面编程AOP是什么-Spring AOP框架的基本使用

    【JavaEE】 AOP(1) 1.1 AOP 与 Spring AOP AOP ( A spect O riented P rogramming),是一种思想,即 面向切面编程 Spring AOP 则是一个框架,Spring项目中需要引入依赖而使用 AOP和Spring AOP的关系就相当于IoC和DI Spring AOP让开发者能够半自动的开发AOP思想下实现的功能 1.2 没有AOP的世界是怎样的

    2024年02月11日
    浏览(47)
  • Spring AOP (面向切面编程)原理与代理模式—实例演示

    Spring 中文文档 (springdoc.cn) Spring | Home 官网         Java是一个面向对象(OOP)的语言,但它有一些弊端。虽然使用OOP可以通过组合或继承的方式来实现代码的重用。但当我们需要为多个不具有继承关系的对象(一般指的是两个不同的类,它们之间没有继承自同一个父类或接

    2024年02月15日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包