2012-01-05 7 views

Odpowiedz

27

Określanie fasoli docelowego za pomocą atrybutu fasoli znacznika ref najbardziej ogólnej postaci i pozwoli na utworzenie się odniesienie do wszelkich ziaren w samym BeanFactory/ApplicationContext (nawet w tym samym pliku XML) lub nadrzędny obiekt BeanFactory/ApplicationContext. Wartość atrybutu bean może być taka sama jak atrybut id elementu docelowego lub jedna z wartości atrybutu name dla komponentu bean target.

Określenie komponentu bean celu za pomocą atrybutu lokalnego powoduje, że analizator składni XML sprawdza poprawność referencji identyfikatorów XML w obrębie tego samego 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. W związku z tym używanie lokalnego wariantu jest najlepszym wyborem (aby wiedzieć o błędach jest jak najwcześniej), jeśli docelowy komponent bean znajduje się w tym samym pliku XML.

<ref local="someBean"/> 

To z odniesienia źródłowego Wiosna here

+21

Wiosną później 3.2 DOS nie obsługuje lokalnych. Jeśli używasz lokalnego, otrzymasz następujący błąd. "Atrybut" local "nie może pojawiać się w elemencie" ref " – Arpit

3

<ref local=".."> wymaga, aby wskazany komponent bean znajdował się w tym samym pliku konfiguracyjnym.

<ref bean="..."> wymaga tylko, aby był w tym samym kontekście lub w kontekście nadrzędnym.

Różnica polega przede wszystkim na dokumentacji. Jeśli widzisz <ref local="...">, to wiesz, że musisz tylko szukać w tym samym pliku, aby go znaleźć. Poza tym, nie ma dużej różnicy. Generalnie używałbym w większości przypadków <ref bean="...">.

5
  • <ref local="someBeanId"> powinien być używany, gdy masz duplikat ID w rodzic-dziecko plików konfiguracyjnych i chcesz odróżnić dwa w albo plik konfiguracyjny.

  • <ref parent="someBeanId"> należy używać w podrzędnym pliku konfiguracyjnym, aby odwoływać się do identyfikatora nadrzędnego.

  • <ref bean="someBeanId"> należy używać, gdy nie ma duplikatu identyfikatora w plikach konfiguracyjnych nadrzędnego podrzędnego.

8

Lokalny atrybut elementu ref nie jest już obsługiwany w ziarnach xsd w wersji 4.0, ponieważ nie zapewnia już wartości nad zwykłym odwołaniem do komponentu bean. Po prostu zmodyfikuj istniejące ref lokalne odniesienia do ref bean po uaktualnieniu do schematu 4.0.

2

Wiosną 4.1 atrybut lokalny jest niepoprawny.

użyłem w XML macierzystego atrybut name dla

i dziecka złożyć odwołanie fasoli przez alias już dał.

Powiązane problemy