Подтвердить что ты не робот

Каков консенсус в пространстве имен Spring p для Beans?

Прошло некоторое время, поэтому мне интересно, используют ли люди пространство имен p XML в своих конфигурационных файлах Spring. Это полезный ярлык? Это хорошая идея, которая попала в корзину?

Где находится сообщество Java в основном?

4b9b3361

Ответ 1

Я использую его в каждом проекте Spring, который я когда-либо касался. Я предполагаю, что моя текущая команда имеет кодовую базу с по меньшей мере 50 различными файлами Spring, и каждый использует пространство имен p. Это намного меньше печатает, и, возможно, более читаемо. Например:

<bean id="fry" class="com.fox">
  <property name="leela" value="fracas" />
  <property name="hawking" ref="panucci" />
  <property name="bender">
    <ref local="uhura" />
  </property>
</bean>

Легче записать в виде

<bean id="fry" class="com.fox"
  p:leela="fracas"
  p:hawking-ref="panucci"
  p:bender-ref="uhura" />

Единственный недостаток заключается в том, что вы теряете возможность использовать семантику local, хотя, честно говоря, я не часто ее использую.

Eclipse Spring IDE поддерживает пространство имен p-namespace и будет автозаполнять имена свойств для beans. Вы даже можете модифицировать имена свойств, чтобы перейти к их объявлениям, и я считаю, что инструменты рефакторинга также поддерживают изменение имен свойств (даже если они записаны в пространстве имен p-namespace).

У товарищей по команде может потребоваться некоторое время, чтобы привыкнуть к нему, но после того, как они узнают об этом, они будут благодарить вас за то, что файлы были намного более сжатыми.

Ответ 2

Я никогда не использовал его, хотя помню, как читал об этом, когда его выпустили, и недавно открыл его, когда просматривал справочные документы spring, но даже после этого я все еще нахожу, что я полностью нахожу идеи.

Это звучит неплохо, но я никогда не могу вспомнить URL схемы (так как обычно я копирую и вставляю их из других контекстов spring, которые не используют пространство имен p:)

Я использую IDEA, так что, возможно, у него есть умная функция импорта/добавления имен?