前言
简单实现一个spring 插件,可通过页面配置,动态的修改是否生效或失效
一个简单的日志插件:在方法前面打印日志插件,通知页面来设置这个插件是否开启
初始设想:如果了解spring aop,那么很容易是就想到可以用动态代理来实现,那么如果在ioc初始完成后,再去修改代理对象的拦截链呢?
1、需要在Ioc启动完成后,用类加载器将所对插件加载进来,然后实例化成advice对象,添加到代理对象的拦截链中
2、梳理一下需要搞清的问题如下:
- 类加载器是什么?
需要将插件类加载到工程中才能使用这个插件中的类 - 插件jar包 包含哪些内容?
实际上就是实现一个功能的类 - 如何创建拦截链对象?
通过反射创建拦截链对象(Advice对象)
一、插件定义
实际上就是在一个插件工程中单独定义一个类,这个类实现MethodBeforeAdvice 接口,定义增强方法
public class CountTimesPlugin implements MethodBeforeAdvice {
private int count;
protected
来源:CSDN
作者:ccddsdsdfsdf
链接:https://blog.csdn.net/lh87270202/article/details/104161921