SSM-Mybatis-插件-插件接口

SSM-Mybatis-插件-插件接口

​ 要使用Mybatis中的插件,就必须实现接口Interceptor,该接口如下:

public interface Interceptor {
    
    
    Object intercept(Invocation var1) throws Throwable;

    default Object plugin(Object target) {
    
    
        return Plugin.wrap(target, this);
    }

    default void setProperties(Properties properties) {
    
    
    }
}

  • intercept:它将直接覆盖拦截对象原有的方法,因此它是插件的核心方法,它里面有个参数Invocation对象,通过它可以反射调度原来对象的方法
  • plugin:target参数是被拦截的对象,作用是给被拦截对象生成一个代理对象,并返回它。Mybatis中,提供org.apache.ibatis.plugin中的wrap静态方法生成代理对象,一般都会使用他生成代理对象,也可以自定义
  • setProperties:运行plugin元素中配置所需参数,方法在初始化时就会被调用一次,然后把插件对象存入到配置中,以便去除

这是一个模板模式。

猜你喜欢

转载自blog.csdn.net/weixin_43958223/article/details/114531022