RibbonClient client = ConsumerApplication.class.getAnnotation(RibbonClient.class); Class<?>[] configuration = client.configuration(); // for (Class<?> class1 : configuration) { // System.out.println("ConsumerApplication类上的注解有--->"+class1.getName()); // // } // 获取InvocationHandler InvocationHandler h = Proxy.getInvocationHandler(client); // 获取 AnnotationInvocationHandler 的 memberValues 字段 Field hField = h.getClass().getDeclaredField("memberValues"); // 打开权限 hField.setAccessible(true); @SuppressWarnings("rawtypes") Map memberValues = (Map) hField.get(h); // 修改 name,configuration 属性值 memberValues.put("name", "client"); Class<?>[] configuration2 = { TestConfigurationInsideScanPackage2.class }; memberValues.put("configuration", configuration2);该处是修改类上的注解,至于修改方法,属性上的注解同理;
Java中修改注解属性值
猜你喜欢
转载自blog.csdn.net/a276202031/article/details/80013732
今日推荐
周排行