1.0 KiB
1.0 KiB
IoC & AOP
IoC
IoC(Inversion of Control, 控制反转)。是一种思想,核心在于将控制对象的权利从程序员手上移交给容器。能够降低对象之间的耦合度,能够使得资源容易管理。
DI(Dependency Injection) 是Spring实现IoC的主要方式
AOP
AOP(Aspect Oriented Programming, 面向切面编程)。核心在于将横切关注点从核心业务逻辑中分离出来,形成一个个的切面。
- 术语
- 横切关注点
- 公共行为:日志记录、事务管理、权限控制、接口限流
- 切面
- 类:对横切关注点进行封装的类
- 连接点
- 方法调用或者方法执行的某个时刻
- 通知
- 需要执行的操作
BeforeAfterAfterReturningAfterThrowingAround
- 切点
- 表达式:用于匹配连接点
execution(* com.example.service..*(..))
- 表达式:用于匹配连接点
- 织入
- 将切面与目标对象连接起来
- 时机
- 编译期
- 运行期
- 需要执行的操作
- 横切关注点