1、AOP(Aspect-Oriented Programming):面向切面编程让开发更高效。
工作中经常需要处理日志记录、事物管理、安全控制等跨越多个业务模块的公共逻辑。
它是一种编程的范式。它通过将跨多个业务模块的公共逻辑抽取并封装成独立的模块(即切面),实现业务逻辑和非业务逻辑的解耦。
2、AOP的好处:
a. 减少重复代码
b. 非业务逻辑和业务逻辑的解耦
c. 提高代码的可维护性
3、AOP 的基本概念
a. 切面:Aspect
b. 连接点:JointPoint
c. 切点:PointCut,拦截的连接点
d. 通知:Advoice,切面在连接点上的具体行为
4、使用Spring AOP构建日志切面
a. 引入依赖
b. 定义日志切面,使用@Aspect和@Component注解。
@Aspect
@component
public class LoggingAspect@{
@Before("execution(* comexample.service.*.*(...))")
public void logBefore(){
})
在执行service包下的所有方法之前记录日志
}
c. 启动AO支持:
@EnableAspectJAutoProxy:
开启自动办理,使切面生效。
总结:AOP面向切面编程它的强大之处在于将非业务逻辑集中管理,让我们的代码更加简洁高效!!!