Jak rozumiem, istnieją dwie główne korzyści z adnotacjami kontrolerów w Spring:Dlaczego preferowane są kontrole w Spring z tradycyjnymi mapowaniami?
- Eliminacja konieczności rozszerzenia klasy bazowej/implementować interfejs.
- Eliminacja jeszcze innego pliku konfiguracyjnego.
Wydaje się to przyniesie dwie główne wady, jednakże:
- Sprzężenie między ramami a kontrolerem wydaje się mocniej z wykorzystaniem adnotacji, w porównaniu z wykorzystaniem przedłużacza klasa/realizacji.
- Pojedynczy plik zawierający odwzorowania wydaje się łatwiejszy w utrzymaniu, niż przekopywanie się przez kod w wielu plikach w poszukiwaniu adnotacji.
Chociaż osobiście uważam wyżej wymienione wady za przewyższające korzyści, wydaje się, że preferowane jest stosowanie adnotacji. To prowadzi mnie do pytania: dlaczego kontrolery z komentarzem do Spring preferowane są do tradycyjnych mapowań?
Edycja w odniesieniu do sprzęgła:
Zdaję sobie sprawę, że w obu przypadkach istnieje pewne sprzężenie z podstawowej ramy zaangażowanych. Interfejs Controller
wymagany przez Spring składa się z jednej metody i może być w większości wyodrębniony (np. interface MyController extends SpringController
). Adnotacje z drugiej strony, oprócz tego, że są specyficzne dla danej struktury, wymagają całego zestawu importów w każdym pliku.
Lepsze pytanie brzmi dla mnie: "dlaczego SpringSource dokumentuje tylko podejście do adnotacji w instrukcji obsługi?". Usunęli dokumentację konfiguracji MVC w stylu XML, co jest dla mnie irytujące. – skaffman
@ Annaffman Yup, jest to jedna z najlepszych części źródła wiosny: [Classic Spring MVC] (http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/classic -spring.html # clasic-spring-mvc) :-) –
@Sean: Bah. ZAWIEŚĆ. – skaffman