Cel mai bun răspuns
În prezent în stiva de tehnologie java, Spring MVC se află în partea de sus și este utilizat pe scară largă pentru a crea aplicații Java Enterprise.
Spring MVC are o cerere uriașă și este actualizat. Au lansat noi versiuni ale primăverii din când în când. Securitatea primăverii este una dintre cele mai bune modalități de a proteja o aplicație. Struts este străvechi. Dar există încă, deoarece majoritatea aplicațiilor Legacy au fost construite folosindu-l. Dar aproape niciun dezvoltator nu ar alege Struts pentru a construi o aplicație astăzi.
Cerința dvs. poate fi ușor îndeplinită folosind: -Spring MVC: pentru REST api, model de server client, Service Oriented Architecure (SOA). -Spring Security: pentru securizarea aplicației. -Hibernate sau șablon de primăvară JDBC. (mergeți cu Hibernate): pentru gestionarea bazei de date-MySQL pentru baza de date. -JUnit pentru testarea unității.
Răspuns
Cadrul de primăvară constă dintr-un număr de module dintre care unul este MVC Model View Controller în domeniul Web.
Luați în considerare următoarea vedere de pasăre a modulelor de primăvară.
MVC: Puteți vedea că modulul Web este denumit MVC./Remoting. Acest modul constă din toate codurile plăcii cazanului necesare dezvoltării aplicațiilor web. Aceasta include gestionarea cererilor, metode HTTP, mapări URL, rezolvatoare de vizualizări, biblioteci de etichete JSP, sesiuni. Consultați 22. Cadrul web MVC pentru mai multe detalii.
IOC – Inversiunea controlului: „Nu ne sunați, vă vom suna”
Aici apare partea dificilă. După cum puteți vedea, IOC nu face parte din diagrama modulului de mai sus. IOC face parte din modulul Spring Core împreună cu multe alte lucruri.
IOC este mai presus de Spring. Este un principiu de proiectare orientat pe obiecte, care reduce dependența și mărește modularitatea și face programul extensibil.
După cum spune Martin Fowler, inversarea controlului este principiul în care fluxul de control al unui program este inversat: în loc de controlul programatorului fluxul unui program, sursele externe (cadru, servicii, alte componente) preiau controlul asupra acestuia.
IOC rezolvă următoarele probleme de proiectare.
- Pentru a decupla execuția a unei sarcini de la implementare.
- Pentru a concentra un modul pe sarcina pentru care este conceput.
- Pentru a elibera module de presupuneri despre modul în care alte sisteme fac ceea ce fac și se bazează în schimb pe c atrage.
- Pentru a preveni efectele secundare la înlocuirea unui modul.
Venirea la ceea ce este Spring COI.
COI de primăvară este modalitatea de implementare a COI în primăvară. IOC poate fi realizat în mai multe moduri. Documentația spune –
Este un proces prin care obiectele își definesc dependențele, adică celelalte obiecte cu care lucrează, numai prin argumente constructor, argumente pentru o metodă din fabrică sau proprietăți care sunt setate pe instanța obiectului după ce este construit sau returnat dintr-o metodă din fabrică. Containerul injectează acele dependențe atunci când creează bean. Acest proces este în mod fundamental invers, de unde și numele Inversion of Control (IoC), al beanului însuși care controlează instanțierea sau localizarea dependențelor sale utilizând construcția directă a sau un mecanism precum modelul Service Locator .
În primăvară org.springframework.beans
și org.springframework.context
conține implementarea IOC numit Spring IOC Container. Interfața org.springframework.context.ApplicationContext
reprezintă containerul IoC de primăvară și este responsabilă pentru instanțierea, configurarea și asamblarea obiectelor (în primăvară obiectele sunt fasole).
Citiți prin 7. Containerul IoC și BeanFactory (Spring Framework 4.3.7.RELEASE API) pentru detalii complete.