《Spring5学习》04
一、Spring面向切面编程的基本概念 面向切面编程(即AOP):把项目中需要再多处使用的功能比如日志、安全和事务等集中到一个类中处理,而不用在每个需要用到该功能的地方显式调用。 横切关注点:在软件开发过程中分散于应用中多处的功能 切面:切点和通知的结合,通知和切点共同定义了切面的全部内容:是什么以及在何时和何处完成其功能 通知:切面要完成的工作。除了描述切面要完成的工作,还解决了何时完成何时执行这个工作的问题。Spring的通知有5种类型:before、after、after-returnning、after-throwing和around这五种类型 连接点:连接点表示在何种操作发生时应用切面。比如方法调用时、修改字段时以及抛出异常时; 切点:一般使用明确的类和方法名称或是利用正则表达式匹配的类和方法名称来指定在何处应用切面,一般应用切面的点就被称为切点,一般使用切点来指定连接点。 引入:我们可以创建一个通知类创建新的属性和方法,就可以在不修改切点类的前提下让他们具有新的行为功能 织入:织入是指把切面应用到目标对象并创建新的代理对象的过程。切面在指定的连接点被织入到目标对象,在目标对象的生命周期里有多个点可以进行织入: 编译期:切面在目标类编译时被织入(例如AspectJ的织入编译器织入切面) 类加载期:切面在目标类加载到JVM时被织入(例如AspectJ5的加载时织入) 运行期