Spring4学习回顾之路11-AOP
Srping的核心除了之前讲到的IOC/DI之外,还有一个AOP(Aspect Oriented Programming:面向切面编程):通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。主要的功能: 日志记录,性能统计,安全控制,事务处理,异常处理等等。 在介绍AOP之前,先介绍动态代理;代理设计模式的原理:使用一个 代理将对象包装起来, 然后用该代理对象取代原始对象,任何对原始对象的调用都要通过代理,代理对象决定是否以及何时将方法调用转到原始对象上。 案例:基于接口实现的动态代理:JDK动态代理 首先定义一个接口,用于运算的Operation.java package com.lql.proxy; /** * @author: lql * @date: 2019.10.29 * Description: */ public interface Operation { //加法 int add(int i,int j); //减法 int sub(int i,int j); } 再来定义实现类OperationImpl.java package com.lql.proxy; /** * @author: lql * @date: