2010-05-17 8 views
16

To było na krótko, więc zastanawiam się, czy ludzie używają przestrzeni nazw XML w swoich wiosennych plikach konfiguracyjnych. Czy to przydatny skrót? Czy to dobry pomysł, który trafił do kosza na śmieci?Co to jest consensus w obszarze nazw p Spring dla fasoli?

Gdzie jest społeczność Java w dużej mierze się wyróżnia?

Odpowiedz

21

Używam go w każdym projekcie wiosennym, jaki kiedykolwiek dotknąłem. Domyślam się, że mój obecny zespół ma bazę kodów z co najmniej 50 różnymi plikami Spring i każdy używa przestrzeni nazw p. Jest o wiele mniej pisania i prawdopodobnie bardziej czytelny. Na przykład:

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

Czy łatwiej być zapisany jako

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

Jedyną wadą jest to, że tracą zdolność do korzystania z local semantyczne, choć szczerze mówiąc, nie należy go używać tak często.

IDE Spring Eclipse obsługuje p-namespace i automatycznie uzupełnia nazwy właściwości dla fasoli. Możesz nawet modyfikować nazwy właściwości, aby przeskoczyć do ich deklaracji i wierzę, że narzędzia do refaktoryzacji obsługują również zmianę nazw właściwości (nawet jeśli są w notacji p-przestrzeni nazw).

Członkowie drużyny mogą trochę się przyzwyczaić, ale kiedy się tego nauczą, będą wdzięczni za bardziej zwięzłe tworzenie plików.

+0

Nie wiedziałem o modyfikatorze kliknij ... jest fajnie. Dzięki. – HDave

+0

Co to jest "lokalna" semantyka? – Saintali

+0

Określenie komponentu bean celu za pomocą atrybutu lokalnego wykorzystuje zdolność analizatora składni XML do sprawdzania poprawności referencji identyfikatorów XML w tym samym pliku. Wartość lokalnego atrybutu musi być taka sama, jak atrybut id komponentu bean celu. Analizator składni XML będzie generował błąd, jeśli nie znaleziono pasującego elementu w tym samym pliku. –

0

Nigdy go nie używałem, chociaż pamiętaj o przeczytaniu go po wydaniu, a na nowo odkryłem jego obecność podczas przeglądania źródłowych dokumentów referencyjnych, ale nawet po tym, nadal uważam, że piszę odpowiednie właściwości w całości.

To brzmi jak dobry pomysł, ale nigdy nie mogę zapamiętać URL schematu (ponieważ zwykle skopiować i wkleić je od innych kontekstach sprężynowych, które nie korzystają z p: namespace)

używam IDEA , więc może to ma jakąś sprytną funkcję importowania/dodawania przestrzeni nazw?

Powiązane problemy