IOC,AOP

发布时间 2023-09-03 19:46:34作者: xietingweia

IOC:控制反转,利用反转的机制将对象交给spring容器,由spring负责对象的创建和销毁。

IOC的作用:解耦

AOP:面向切面编程

AOP的作用:在程序运行期间,不修改源码的情况下,动态统一添加功能。如:日志打印,数据采集,事务管理,性能监视

AOP常见概念:横切关注点,切面,连接点,切入点,消息通知

  • 横切关注点:拦截后怎么处理
  • 切面aspect:一个类,里面定义 切入点和通知。
  • 连接点JointPoint:源码里可以切入的位置。
  • 切入点 Pointcut:源码里准备切入的位置。
  • 消息通知:在切入位置执行增强处理。如:记录日志,控制事务 。
    • 类型
      • @Before前置通知
        • 在执行目标方法之前运行
      • @After后置通知
        • 在目标方法运行结束之后
      • @AfterReturning返回通知
        • 在目标方法正常返回值后运行
      • @AfterThrowing异常通知
        • 在目标方法出现异常后运行
      • @Around环绕通知
        • 在目标方法完成前、后做增强处理 ,环绕通知是最重要的通知类型 ,像事务,日志等都是环绕通知,注意编程中核心是一个ProceedingJoinPoint,需要手动执行 joinPoint.procced()