AOP基础

  1. 1.什么是AOP Aspect Oriented Programming 面向切面编程 或者 面向方面编程
    它是对面向对象的一个扩展
    可以不修改原有代码的情况下 给原有的逻辑增加功能
    降低了共通业务逻辑 和 原有逻辑的耦合度 因为共同业务逻辑可以通过配置手段加入到原有逻辑中
    2.AOP 中涉及到概念 切面 Aspect 封装共通业务逻辑的 连接点 JoinPoint 共通业务逻辑所要嵌入的位置 一般封装了方法的信息 切点 Pointcut
    它是一堆连接点 可以看成连接点的集合 (切点表达式) 目标 Target 要嵌入共通业务逻辑的对象
    代理 Proxy 被增强之后的目标对象 通知 Advice 时机
    目标方法调用之前 目标方法调用之后 目标方法调用前后
    目标方法最终 目标方法出现异常 切面 — 通知 — 切点
    3.Spring 实现 AOP 的步骤
    3.1 建立一个项目 导入jar包(ioc aop) 拷贝配置文件到src下
    3.2 编写一个的服务类 有登录 和 注册两个方法
    这两个方法使用伪代码即可
    3.3 在配置文件中配置这个服务器类 然后通过容器获取服务类对应的对象 测试方法调用
    3.4 在不修改服务类代码的情况下 让服务类对应的方法调用前输出 ******
    a.定义一个切面类 里面定义输出****** 的方法
    b.在配置文件中 配置切面类型的对象
    c.在Spring 配置文件中 写 AOP 的配置
    切面 通知 切点

    4.切点表达式的写法 4.1 bean 限定表达式 bean(spring容器中id表达式) 支持统配 如 bean(*Account)

    4.2 类型限定表达式 within(表达式)
    表达式的写法 是最后一部分必须是 类型
    com.xdl.dao.XdlBankAccountDAOOracleImp 对XdlBankAccountDAOOracleImp 这个类型
    对应的所有方法都切入共通业务逻辑。
    com.xdl.dao.* dao包下所有的类型 对应的方法都将被切入共通业务逻辑
    com…* com 包下所有的类型 以及 com的子包下所有的类型 对应的方法都将被切入共通业务逻辑
    4.3 方法限定表达式
    execution(方法限定)
    方法限定的格式
    权限修饰 返回值类型 方法名(参数列表) throws 异常
    其中 返回值类型 方法名() 是必须的

    5.AOP 中的五种通知类型 <aop:before 前置通知 目标方法调用之前调用 <aop:after 最终通知 目标方法调用后 一定会调用 <aop:after-returning 后置通知 目标方法调用之后调用
    <aop:after-throwing 异常通知 目标方法调用出现异常 采用调用 <aop:around
    环绕通知 目标方法调用前后都调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值