Files
2025-09-30 18:40:34 +08:00

1.0 KiB

IoC & AOP

IoC

IoC(Inversion of Control, 控制反转)。是一种思想,核心在于将控制对象的权利从程序员手上移交给容器。能够降低对象之间的耦合度,能够使得资源容易管理。

DI(Dependency Injection) 是Spring实现IoC的主要方式

AOP

AOP(Aspect Oriented Programming, 面向切面编程)。核心在于将横切关注点从核心业务逻辑中分离出来,形成一个个的切面。

  • 术语
    • 横切关注点
      • 公共行为:日志记录、事务管理、权限控制、接口限流
    • 切面
      • 类:对横切关注点进行封装的类
    • 连接点
      • 方法调用或者方法执行的某个时刻
    • 通知
      • 需要执行的操作
        • Before
        • After
        • AfterReturning
        • AfterThrowing
        • Around
      • 切点
        • 表达式:用于匹配连接点
          • execution(* com.example.service..*(..))
      • 织入
        • 将切面与目标对象连接起来
        • 时机
          • 编译期
          • 运行期