我有兴趣将这个逻辑重用于我正在做的事情。
给定
<bean name="myBeanWithSetXyz" class="com.blah.Something/>
<property name="xyz" value="3"/>
是否有某个地方的 spring 类确定setXyz()是一个 int,并将其设置在 bean 的实例上?
或者也许是其他一些实用程序?是的,我可以自己写,但我喜欢重用。
DirectFieldAccessor 和 BeanWrapperImpl 是您最有可能的候选人。
ConfigurablePropertyAccessor fieldAccessor = new DirectFieldAccessor (someObject);
beanWrapper.setPropertyValue(fieldName,
fieldAccessor.convertForProperty(value, fieldName) );
ConfigurablePropertyAccessor beanWrapper = new BeanWrapperImpl(someObject);
beanWrapper.setPropertyValue(propertyName,
beanWrapper.convertForProperty(value, propertyName) );