AOP思想之简单介绍了解

1.AOP原则:解耦,只要解耦就可以用到AOP思想。比如Spring日志管理、事务管理、数据源管理等。
2.AOP(面向切面编程)实际上是OOP(面向对象编程)的延续。
AOP思想:解耦(如下图)
AOP思想之简单介绍了解
切面:Aspect
AOP思想之简单介绍了解

连接点:JoinPoint (指某一个切面中具体的某个方法,要在方法真正调用时才存在。通过连接点可以获取方法调用时的状态)

切入点:Pointcut (Spring里面设计的虚拟的,用来描述切面的一个规则。例如表达式execution(*….))

目标对象:Target Object(哪个对象的方法)

代理对象:Proxy Object 自动调用的过程就是由代理对象完成。

通知:advice 相当于监听,由了这个通知才有可能实现自动解耦。

3.Spring AOP的通知类型

  • 前置通知:Before Advice 在调用之前触发

  • 后置通知:After Returning Advice 在获取返回值的时候触发(没有返回值的时候不触发)

  • 异常通知:After Throwing Advice 在出现异常时触发

  • 最终完成通知:After Advice 调用完成时触发

  • 环绕通知:Around Advice 同一个切面上,只要有方法被调用,就会通知。 比如拦截器。

4.Aop思想的应用场景

  • 权限 Authent
  • 缓存 Cache
  • 内容传递 Context Passing
  • 错误处理 Error Process
  • 延时加载 Lazy Loading
  • 调试 Debugging
  • 记录跟踪、优化 Logging、Monitor
  • 性能优化 performance Optimization
  • 持久化 Persistence
  • 资源池 Resouce Pool
  • 同步、异步管理 Synchroinzed
  • 事务管理 Transaction