JAVA——实现七牛云对象存储Region对象采用配置方式生成解决方案

官方文档

对象存储 Java SDK 更新时间:2019-12-16 17:24:24 

解决方案 

    @Value("${qiniu.region}")
    private String region;
    /**
     * 华东机房,配置自己空间所在的区域
     */
    @Bean
    public com.qiniu.storage.Configuration qiniuConfig()
            throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {
        Field[] fields = QiNiuRegion.class.getDeclaredFields();
        for(Field field:fields){
            String r = (String)field.get(QiNiuRegion.class);
            System.out.println(r);
            if(r.equals(region)){
                com.qiniu.storage.Configuration c = new com.qiniu.storage.Configuration(
                        (Region)Region.class
                        .getMethod(r,null)
                        .invoke(null,null));
                System.out.println(c);
                return c;

            }
        }
        return null;
    }
interface QiNiuRegion{
    String REGION_0 = "region0";
    String REGION_1 = "region1";
    String REGION_2 = "region2";
    String REGION_Na = "regionNa";
    String REGION_AS = "regionAs";
    String HUA_DONG = "huadong";
    String HUA_BEI = "huabei";
    String HUA_NAN = "huanan";
    String BRI_MEI = "beimei";
    String XIN_JIA_PO = "xinijipo";
}

参考文章

Java中定义常量的几种方法

Java反射获取某个类的全部属性

Java循环一个对象的所有属性,并通过反射给这些属性赋值/取值

java中Class.getMethod方法

java反射之Method的invoke方法实现

java 利用反射调用静态方法的示例

java获取对象属性类型、属性名称、属性值

java反射取对象属性值 不是通过get方法取值?

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页