src/main/java/com/itfsw/mybatis/generator/plugins/utils/hook/HookAggregator.java
private <T> List<T> getPlugins(Class<T> clazz) {
        List list = new ArrayList();
        // 反射获取插件列表，不能用单例去弄，不然因为类释放的问题而导致测试用例出问题
        try {
            List<Plugin> plugins = (List<Plugin>) BeanUtils.getProperty(this.context.getPlugins(), "plugins");
            for (Plugin plugin : plugins) {
                if (clazz.isInstance(plugin)) {
                    list.add(plugin);
                }
            }
        } catch (Exception e) {
            logger.error("获取插件列表失败！", e);
        }
        return list;
    }
private <T> List<T> getPlugins(Class<T> clazz) {
        List list = new ArrayList();
        // 反射获取插件列表，不能用单例去弄，不然因为类释放的问题而导致测试用例出问题
        try {
            List<Plugin> plugins = (List<Plugin>) BeanUtils.getProperty(this.context.getPlugins(), "plugins");
            for (Plugin plugin : plugins) {
                if (clazz.isInstance(plugin)) {
                    list.add(plugin);
                }
            }
        } catch (Exception e) {
            logger.error("获取插件列表失败！", e);
        }
        return list;
    }
private < T > List < T > getPlugins ( Class < T > clazz ) { List list = new ArrayList ( ) ; // 反射获取插件列表，不能用单例去弄，不然因为类释放的问题而导致测试用例出问题 try { List < Plugin > plugins = ( List < Plugin > ) BeanUtils . getProperty ( this . context . getPlugins ( ) , "plugins" ) ; for ( Plugin plugin : plugins ) { if ( clazz . isInstance ( plugin ) ) { list . add ( plugin ) ; } } } catch ( Exception e ) { logger . error ( "获取插件列表失败！", e); } return list ; }
获取插件
@param clazz
@param <T>
@return
获取插件