Как внедрить расширенные перечисления через Spring? - PullRequest
2 голосов
/ 30 декабря 2011

У меня есть дополнительный вопрос к этому решению для расширения перечислений java.

Как добавить расширенные перечисления через конфигурацию Spring, когда у компонента есть свойство интерфейса. Например,

class Foo {
  Day dayProp;

  public setDayProp(Day day) {
     this.dayProp = day;
  }
}

Это выдает ошибку «не удалось преобразовать java.lang.String в интерфейс Day». Я также попытался указать весь путь.

<bean id="foo1" class="Foo">
  <property name="dayProp" value="SAT" />
</bean>

Ответы [ 2 ]

4 голосов
/ 30 декабря 2011

Немного поэкспериментировав, я получил это с помощью SpEL

<property name="dayProp" value="#{ T(path.for.WeekendDay).SAT }" />

Но я бы хотел услышать об альтернативных решениях.

0 голосов
/ 30 декабря 2011

Spring использует отражение для определения типа свойства в любом случае. Вы пробовали просто "SAT"?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...