Najlepsza odpowiedź
Obecnie w stosie technologii java, Spring MVC jest na szczycie i jest szeroko używany do tworzenia aplikacji Enterprise Java.
Spring MVC jest bardzo poszukiwane i aktualizowane. Od czasu do czasu wydają nowe wersje Springa. Zabezpieczenia Spring to jeden z najlepszych sposobów ochrony aplikacji. Struts jest starożytny. Ale nadal istnieje, ponieważ większość starszych aplikacji została zbudowana przy jego użyciu. Ale prawie żaden programista nie wybrałby dziś Struts do tworzenia aplikacji.
Twoje wymagania można łatwo spełnić, używając: -Spring MVC: dla REST API, modelu serwera klienta, architektury zorientowanej na usługi (SOA). -Spring Security: do zabezpieczania aplikacji. -Hibernate lub Spring JDBC Template. (idź z Hibernate): do obsługi bazy danych -MySQL dla bazy danych. -JUnit do testów jednostkowych.
Odpowiedź
Spring Framework składa się z wielu modułów, z których jednym jest kontroler widoku modelu MVC w domenie internetowej.
Rozważmy następujący widok z lotu ptaka na moduły Spring.
MVC: Możesz zobaczyć, że moduł sieciowy jest nazywany MVC./Remoting. Ten moduł składa się z wszystkich kodów kotłów wymaganych do tworzenia aplikacji internetowych. Obejmuje to obsługę żądań, metody HTTP, mapowania adresów URL, narzędzia do rozpoznawania widoku, biblioteki znaczników JSP, sesje. Patrz 22. Web MVC framework , aby uzyskać więcej informacji.
IOC – Inversion of Control: „Nie dzwoń do nas, zadzwonimy do Ciebie”
Oto trudna część. Jak widać, IOC nie jest częścią powyższego schematu modułu. IOC jest częścią modułu Spring Core wraz z wieloma innymi rzeczami.
IOC to coś więcej niż Spring. Jest to zasada projektowania zorientowanego obiektowo, która zmniejsza zależność i zwiększa modułowość oraz sprawia, że program jest rozszerzalny.
Jak mówi Martin Fowler, odwrócenie sterowania jest zasadą polegającą na odwróceniu przepływu sterowania programem: zamiast sterowania przez programistę przepływ programu, zewnętrzne źródła (framework, usługi, inne komponenty) przejmują nad nim kontrolę.
MKOl rozwiązuje następujące problemy projektowe.
- Aby oddzielić wykonanie zadania z realizacji.
- Aby skoncentrować moduł na zadaniu, do którego jest przeznaczony.
- Aby uwolnić moduły od założeń dotyczących tego, jak inne systemy robią to, co robią, i zamiast tego polegać na c ontracts.
- Aby zapobiec efektom ubocznym podczas wymiany modułu.
Wracając do tego, co jest Spring MKOl.
Wiosenny MKOl jest sposobem wdrażania MKOl wiosną. IOC można osiągnąć na wiele sposobów. Dokumentacja mówi –
Jest to proces, w którym obiekty definiują swoje zależności, czyli inne obiekty, z którymi pracują, tylko poprzez argumenty konstruktora, argumenty metody fabrycznej lub właściwości, które są ustawione w instancji obiektu po zbudowaniu lub zwróceniu z metody fabrycznej. Następnie kontener wstrzykuje te zależności podczas tworzenia fasoli. Ten proces jest zasadniczo odwrotnością, stąd nazwa Inversion of Control (IoC) samego ziarna kontrolującego instancję lub lokalizację jego zależności za pomocą bezpośredniej konstrukcji klasy lub mechanizm, taki jak wzorzec Service Locator .
Wiosną org.springframework.beans
i org.springframework.context
zawiera implementację IOC o nazwie Spring IOC Container. Interfejs org.springframework.context.ApplicationContext
reprezentuje kontener Spring IoC i jest odpowiedzialny za tworzenie instancji, konfigurowanie i składanie obiektów (na wiosnę obiekty są fasolami).
Przeczytaj 7. Kontener IoC i BeanFactory (Spring Framework 4.3.7.RELEASE API) , aby uzyskać szczegółowe informacje.