BeanWrapper 主要用于使用多种特殊方式来注入值, 比如下面的嵌套注入:
beanWrapper.setPropertyValue("a[0].b[dd].a", "value");
估计在spring xml配置文件里也用得比较多。
https://blog.csdn.net/zhiweianran/article/details/7919129
实例:
将Bean 的属性值放在properties文件里进行配置
//假设有一个Config类:
public class Config{
private int port;
private String host;
//getter/setter 略
}
//从proeprties文件加载Properties对象
InputStream inputStream = new FileInputStream(new File("config.properties"));
Properties properties = new Properties();
properties.load(inputStream);
//根据加载的Properties实例,实例化一个PropertyValues
PropertyValues propertyValues = new MutablePropertyValues(properties);
//实例化一个BeanWrapper
Config cfg = new Config();
BeanWrapper wrapper = new BeanWrapperImpl(cfg);
//设置值
wrapper.setPropertyValues(propertyValues);