美文网首页
自定义插件

自定义插件

作者: 爪蛙程序猿 | 来源:发表于2020-04-26 21:37 被阅读0次
    @Intercepts({
            @Signature(type= StatementHandler.class,
                      method = "prepare",
                      args = {Connection.class,Integer.class})
    })
    public class MyPlugin implements Interceptor {
    
        /*
            拦截方法:只要被拦截的目标对象的目标方法被执行时,每次都会执行intercept方法
         */
        @Override
        public Object intercept(Invocation invocation) throws Throwable {
            System.out.println("对方法进行了增强....");
            return invocation.proceed(); //原方法执行
        }
    
        /*
           主要为了把当前的拦截器生成代理存到拦截器链中
         */
        @Override
        public Object plugin(Object target) {
            Object wrap = Plugin.wrap(target, this);
            return wrap;
        }
    
        /*
            获取配置文件的参数
         */
        @Override
        public void setProperties(Properties properties) {
            System.out.println("获取到的配置文件的参数是:"+properties);
        }
    }
    
    //sqlMapConfig.xml中配置插件类
    <plugin interceptor="com.syc.plugin.MyPlugin">
        <property name="name" value="tom"/>
    </plugin>
    

    相关文章

      网友评论

          本文标题:自定义插件

          本文链接:https://www.haomeiwen.com/subject/dikswhtx.html