• spring16


    AOP(术语)
    ​ a)连接点:类里面哪些方法可以被增强,这些方法称为连接点

    ​ b)切入点:实际被真正增强的方法称为切入点

    ​ c)通知(增强):实际增强的逻辑部分称为通知,且分为以下五种类型:

    ​ 1)前置通知 2)后置通知 3)环绕通知 4)异常通知 5)最终通知

    ​ d)切面:把通知应用到切入点过程

    5、AOP操作
    ​ a)Spring 框架一般都是基于 AspectJ 实现 AOP 操作,AspectJ 不是 Spring 组成部分,独立 AOP 框架,一般把 AspectJ 和 Spirng 框架一起使 用,进行 AOP 操作

    ​ b)基于 AspectJ 实现 AOP 操作:1)基于 xml 配置文件实现 (2)基于注解方式实现(使用)

    ​ c)引入相关jar包

    ​ d)切入点表达式,如下:

    (1)切入点表达式作用:知道对哪个类里面的哪个方法进行增强
    (2)语法结构: execution([权限修饰符] [返回类型] [类全路径] [方法名称]([参数列表]) )
    (3)例子如下:
    例 1:对 com.atguigu.dao.BookDao 类里面的 add 进行增强
    execution(* com.atguigu.dao.BookDao.add(..))
    例 2:对 com.atguigu.dao.BookDao 类里面的所有的方法进行增强
    execution(* com.atguigu.dao.BookDao.* (..))
    例 3:对 com.atguigu.dao 包里面所有类,类里面所有方法进行增强
    execution(* com.atguigu.dao.*.* (..))

    6、AOP 操作(AspectJ 注解)
    //1、创建类,在类里面定义方法
    public class User {
    public void add() {
    System.out.println("add.......");
    }
    }
    //2、创建增强类(编写增强逻辑)
    //(1)在增强类里面,创建方法,让不同方法代表不同通知类型
    //增强的类
    public class UserProxy {
    public void before() {//前置通知
    System.out.println("before......");
    }
    }

    <!--3、进行通知的配置-->
    <?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:context="http://www.springframework.org/schema/context"
    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/context http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
    <!-- 开启注解扫描 -->
    <context:component-scan base-package="com.atguigu.spring5.aopanno"></context:component-scan>

    <!-- 开启Aspect生成代理对象-->
    <aop:aspectj-autoproxy></aop:aspectj-autoproxy>
    </beans>

  • 相关阅读:
    在intent-filter中的配置
    利用asynchttpclient开源项目来把数据提交给服务器
    URL的应用
    ScrollView在布局中的作用
    android中传统的创建数据库
    for (Sms sms : smsLists){}
    Android中对文件的读写进行操作
    android中的5大布局
    android复制包需要修改的几个地方
    【Unity Tips】备忘录(扫盲篇)
  • 原文地址:https://www.cnblogs.com/huaobin/p/14908446.html
Copyright © 2020-2023  润新知