1. AOP是什么?
AOP是面向切面编程 在不修改源码的条件下,对方法进行扩展!!! 解决了业务的耦合性
在我们平时写代码时,在控制层会实现各种方法,但是太多的代码写入将会代码冗余,如何解决这一个问题呢?
那就需要用到Spring框架中AOP机制,面向切面编程
在控制层中我们只需要写入少量的和必须要写入的代码,其余的都放在切面类中,这样就可以解决了代码冗余的问题
1.1 切面编程的原理
原理:利用动态代理来创建对象
动态代理:JDK动态代理 Cglib动态代理
package com.jt.demo1.proxy;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
/*当前类是工具API,目的是获取代理对象*/
public class JDKProxy {
/**
* 参数说明:
* ClassLoader loader, 类加载器:将class加载到java运行机制中
* Class<?>[] interfaces, 被代理者的接口数组 java可以多实现
* InvocationHandler h 将代理对象扩展的内容写到处理器中
* @param target
* @return
*/
public static Object getProxy(Object target){
//1.获取目标对象的类加载器
Cla