官方文档
对象存储 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方法取值?