面向切面编程(AOP)动态代理
Aspect Oriented Programming(AOP)面向切面编程是一种范式和思想,并不是特指某一种编程语言。下面这句话是知乎上的一个总结:
在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程
比如写一个管理学生老师的简单数据库
我们需要用InvocationHandler 来声明一个对象来得到数据库的链接然后在运行时,动态地将代码切入到类的指定方法、指定位置最后把结果返回出去.
写数据库的增删改查时需要重复利用代码,所以需要写一个类来遍历获取一个要执行的数据库操作再在测试类中执行你要的操作,如图:
我们在实际中会发现一个问题,怎样可以知道传上来的对象是什么对象?否则我们就不能创建对象
所以我们就要运用this,ParameterizedType来获取泛型 具体看图
最后我们还要写2个类来接口实现继承后实现所有的方法来达到重复利用的效果
运行结果如下: