Spring 3 как установить свойство при перегруженном методе сеттера - PullRequest
2 голосов
/ 23 октября 2010
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, указывающее, что он не может преобразовать строку в файл.

Как сообщить Spring, какой из перегруженных методов использовать?Я думал, что весна выяснит это, когда я определю это в параметре <value type="...">.

1 Ответ

3 голосов
/ 23 октября 2010

Я не знаю, является ли это удовлетворительным ответом, но я избегаю перегрузки установщиков свойств, которые я хочу иметь возможность подключать с помощью IoC. Когда мне нужны два сеттера для (логически) одного и того же свойства, я использую разные имена сеттера ... и комментарии javadoc, чтобы объяснить, что происходит.

...