zoukankan      html  css  js  c++  java
  • 反射的更改 更改 static final 静态常量的值 。 这样就能动态的更改 决定spring 用那一套实现

    public class Bean {
     
        public static final String dbtype=new String();
     
    }
     
     
    public static  void changFinalProperty(Class clazz ,Object newvalue)
        {
             
            try {
                Object o = clazz.newInstance();
                Field  field = clazz.getDeclaredField("dbtype");
                field.setAccessible(true);
                Field modifiersField = Field.class.getDeclaredField("modifiers");
                modifiersField.setAccessible(true);
                modifiersField.set(field, field.getModifiers() & ~Modifier.FINAL);
                field.set(null, newvalue);
            } catch (NoSuchFieldException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SecurityException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IllegalArgumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (InstantiationException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
             
            System.out.println(Bean.dbtype);
        }
        
  • 相关阅读:
    关于webpack require.context() 的那点事
    微信支付服务商开发相关的那点事
    关于apache 开启 ssl https 支持 TLS1.2 的些事
    d2-admin中那些不错的技巧
    前端mock数据的几种方式
    vue pc端网站项目开发坑点与难度记录
    vue单页应用中 返回列表记住上次滚动位置、keep-alive缓存之后更新列表数据 那点事
    事务
    DBUtils和连接池
    jsp
  • 原文地址:https://www.cnblogs.com/happyxiaomo/p/4512106.html
Copyright © 2011-2022 走看看