aop面向切面编程

    科技2025-09-13  1

    AOP简介AOP面向切面编程AOP的实现

    AOP简介

    AOP(Aspect Orient Programming),面向切面编程。从动态角度考虑程序运行过程

    AOP底层就是采用动态代理模式实现的。采用了两种代理:JDK的动他i代理,与CGLIB的动态代理

    动态代理: - jdk动态代理,使用jdk中的Proxy,Method,invocationHandler创建代理对象。jdk动态代理要求目标类必须实现接口 - cglib动态代理:第三方的工具库,创建代理对象,原理是继承。通过继承目标类,创建子类。子类就是代理对象。要求目标类不能是final的,方法也不能是final的。

    AOP是基于动态代理的,AOP实质就是动态代理的规范化,把动态代理的实现步骤,方式都定义好了,让开发人员用一种同一的方式使用动态代理

    AOP面向切面编程

    Aspect:切面,给你的目标类增加的功能。(切面一般都是非业务方法,独立使用的)

    怎么理解面向切面编程?

    需要在分析项目功能时,找出切面合理的安排切面的执行时间(在目标方法前还是目标方法后)合理的安排切面执行的位置,在哪个类,哪个方法增加增强功能

    常用术语

    Aspect: 切面,表示增强的功能。非业务功能,常见的切面功能有日志、事务、统计信息、参数检查、权限检查。JoinPoint: 连接点,连接业务方法和切面的位置。就是某个类中的业务方法Pointcut: 切入点,指多个连接点方法的集合。就是多个方法目标对象: 给哪个类的方法增加功能,这个类就是目标对象Advice: 通知,通知表示切面功能执行的时间

    AOP的实现

    aop的技术实现框架:

    spring spring在内部实现了aop规范,能做aop的工作。 spring主要在事务处理时使用aop,但是很少用,因为spring的aop太笨重了。aspectJ: 一个开源的专门做aop的框架。 可以用xml配置文件或者注解来使用。
    Processed: 0.013, SQL: 9