annotation parser

    public Map<String, String> loadVlaue(Class annotationClasss,
                                         String annotationField, String className) throws Exception {

        System.out.println("处理Annotation类名称  === "+annotationClasss.getName());
        System.out.println("处理Annotation类属性名称  === "+annotationField);
        System.out.println("处理Annotation的调用类名称  === "+className);
        Map<String, String> map = new HashMap<String, String>();
        Method[] methods = Class.forName(className).getDeclaredMethods();
        for (Method method : methods) {
            if (method.isAnnotationPresent(annotationClasss)) {
                Annotation p = method.getAnnotation(annotationClasss);
                Method m = p.getClass()
                        .getDeclaredMethod(annotationField, null);
                boolean value = (boolean) m.invoke(p, null);
                System.out.println("注解值 === " + value);
//                String[] values = (String[]) m.invoke(p, null);
//                for (String key : values) {
//                    System.out.println("注解值 === " + key);
//                    map.put(key, key);
//                }
            }
        }
//        System.out.println("map数量  === " + map.size());
        return map;
    }

猜你喜欢

转载自kingbinchow.iteye.com/blog/2358190