Spring 3如何在重载setter方法时设置属性

时间:2010-10-23 02:18:56

标签: java spring overloading

class SomeoneElsesAPI {
   void setDirectory(File dir){...}
   void setDirectory(String dir){...}
}

<bean id="someoneElsesAPI" class="com.someone.SomeoneElsesAPI">
   <property name="directory">
      <value type="java.lang.String">/etc</value>
   </property>
</bean>

我有一个类似于上面例子的情况,Spring抛出一个IllegalStateException,表明它无法将String转换为File。

如何告诉spring使用哪种重载方法?我认为当我在<value type="...">参数中指定它时,Spring会想出来。

1 个答案:

答案 0 :(得分:3)

我不知道这是否是一个令人满意的答案,但我避免超载我希望能够使用IoC连接的属性设置器。当我确实需要两个setter(逻辑上)相同的属性时,我使用不同的setter名称...和javadoc注释来解释发生了什么。