Какой консенсус в отношении пространства имен Spring p для Beans? - PullRequest
16 голосов
/ 18 мая 2010

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

Где в значительной степени находится сообщество Java?

Ответы [ 2 ]

22 голосов
/ 20 мая 2010

Я использую его в каждом проекте 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, хотя, честно говоря, я не так часто ее использую.

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

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

0 голосов
/ 18 мая 2010

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

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

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

...