java - Spring 3当setter方法重载时如何设置属性

标签 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 会弄清楚它。参数。

最佳答案

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

关于java - Spring 3当setter方法重载时如何设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4002118/

相关文章:

java - ArrayList 删除函数删除错误的对象

java - 将参数与类上的自定义注释相匹配 - 在运行时检测

java - 在Java中使用AudioPlayer播放24位WAV

java - 在 Spring Boot 中将 .csv 文件上传到数据库

php - 工厂模式可以是通用的单例模式吗?

c++ - 重载operator new(),为什么构造函数被调用了两次?

java - 尝试在 java 中通过 tcp 发送千字节消息时出错

java - Spring 属性文件将属性设置为 null

Spring Controller 方法执行两次

python - SWIG Python包装,除法运算符重载很奇怪