zoukankan      html  css  js  c++  java
  • ~随笔A013~spring应用之AOP

      在学习spring时,我们最新接触的是AOP/IOC,DI,这里主要总结下spring的aop。

      在我们开发的所有应用中,面向对象的思想并不能解决所有问题,而aop(Aspect Oriented Programming )面向切面的编程是对面向对象编程的一种补充。

      aop解决问题情境:

        人员在访问系统时,我们通常会对访问者的操作(增删改)进行记录,而一个系统最少需要200个类来支持,每个类中大约有8个方法,也就有1600个方法,而如果每个方法都需要有通知来记录用户的操作行为,这对程序开发者无疑是个巨大的工作量,但spring的aop正好解决了这类问题。

      一、aop的通知来下

        1.前置通知(方法开始运行前通知)

        2.环绕通知(前置通知后方法开始前)

        3.最终通知(正在运行的程序就快要结束的时候,且方法中没有异常进行通知——方法结束前)

        4.方法跑出异常通知(方法中存在异常时进行通知)

        5.后置通知(方法结束后通知)

        

      二、aop代理方式

        1.静态代理(缺点:不智能)

          有多少个类需要代理,就需要写多少个类的proxy类,跟在原类上编写代码一样麻烦,但这确实是代理机制的一种体现。

        2.动态代理

          采用xml的配置方式直接进行插拔式编程,方便快捷。

        

        

        

        

        

      

      

      execution中表达式:

        (1)第一个*表示方法的返回类型为任意类型,如果没有则返回void

        (2)第一次出现 .. 表示包下任意层级的类均可匹配

        (3)括号之前的*表示方法

        (4)括号中的 .. 表示匹配任意类型的参数或没有参数

        

  • 相关阅读:
    软件测试人员的年终绩效考核怎么应对
    收藏
    顶踩组件 前后两版
    订阅组件
    hdu 1963 Investment 完全背包
    hdu 4939 Stupid Tower Defense 动态规划
    hdu 4405 Aeroplane chess 动态规划
    cf 414B Mashmokh and ACM 动态规划
    BUPT 202 Chocolate Machine 动态规划
    hdu 3853 LOOPS 动态规划
  • 原文地址:https://www.cnblogs.com/gaojl/p/8503066.html
Copyright © 2011-2022 走看看