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)括号中的 .. 表示匹配任意类型的参数或没有参数

        

  • 相关阅读:
    mysql数据库__Jdbc直接操作__PreparedStatement__新增数据库
    GeneralUtils
    java easyExcel框架
    java8 stream流操作
    Java解析json报文案列
    如何避免空指针?
    List、Map集合的遍历方式
    java---关于多态性
    Android环境的搭建
    css+div学习
  • 原文地址:https://www.cnblogs.com/gaojl/p/8503066.html
Copyright © 2011-2022 走看看