简述springAOP织入
时间: 2024-10-09 21:00:24 浏览: 21
注解配置SpringAOP共4页.pdf.zip
Spring AOP (Aspect Oriented Programming) 是一种编程范式,它将关注点从业务逻辑分离到系统的其他方面,如日志记录、事务管理、安全控制等,称为切面(Aspect)。在Spring框架中,织入(Weaving)是指将AOP通知(Advice,比如前置通知、后置通知等)插入到目标对象的行为中,而无需修改原始代码。
Spring支持两种织入方式:
1. **动态代理**: Spring在运行时创建代理对象,通过字节码操作(JDK的动态代理或者CGLIB库)来拦截并增强方法调用。这是默认的织入方式。
2. **源码生成**:对于某些复杂的场景,Spring可以使用注解处理器(@AspectJ)配合AspectJ库,直接修改源码进行织入。
Spring AOP的核心组件包括:
- **切面(Aspect)**: 定义了横切关注点的模块。
- **通知(Advice)**: 实现对指定连接点的操作,如前置通知在方法执行前执行,后置通知在方法执行后执行。
- **连接点(Join Point)**: 通知应用的地方,如方法执行、构造函数调用等。
- **切点(Pointcut)**: 指定哪些连接点应该应用特定的通知。
阅读全文