0%

Spring-aop

springboot 使用durid数据源设置数据库密码加密

Spring AOP是Spring框架的一个重要组成部分,用于通过面向切面编程(AOP)实现横向关注点的分离。本篇博客将介绍Spring AOP的基本概念、使用方法以及一些实践经验。

Spring AOP的基本概念
  1. 切面(Aspect): 是一种特殊的类,它包含了需要在应用程序不同位置执行的切入点和增强的定义,一个应用程序可以有多个不同的切面。
  2. 切入点(Pointcut): 它定义了应该在哪些流程或者过程上进行拦截,也可以理解为程序中的钩子,决定了被增强或者拦截的业务模块。
  3. 增强(Advice): 它是对切入点切面拦截到的程序进行加工处理的操作,常见的增强类型有前置增强,后置增强,环绕增强,异常抛出增强等。
  4. 连接点(Join Point): 程序执行中的某个特定位置,例如方法调用或异常抛出等。
  5. 织入(Weaving): 将切面应用到目标对象并创建代理对象的过程。织入可以发生在编译期、类加载期、运行期间。

######Spring AOP的使用方法

  • 配置文件:在Spring配置文件中配置切面和增强。

  • 注解:通过在切面所在的类前加 @Aspect ,在需要增强的方法上标注不同类型的注解(如@Before、@AfterReturning等)实现增强。

实践经验
  • 切入点定义要准确,避免影响应用程序正常流程。

  • 多使用环绕增强来控制目标方法执行的逻辑。

  • 若出现Advice绑定多个切入点时,可以考虑添加Order注解指定执行顺序。

  • 将切面的颗粒度设置得精细一些,避免意外拦截到其他业务模块。

  • 使用ProxyFactoryBean+XML来创建代理进行控制传播属性。