Hvilken er bedre: Spring MVC eller Struts?


Bedste svar

I øjeblikket i java-teknologiestak er Spring MVC øverst og bruges i vid udstrækning til at oprette Enterprise Java-applikationer.

Spring MVC er meget efterspurgt og opdateret. De frigiver nye versioner af Spring fra tid til anden. Forårsikkerhed er en af ​​de bedste måder at beskytte en applikation på. Struts er gammel. Men det eksisterer stadig, da de fleste af de ældre applikationer blev bygget ved hjælp af det. Men næsten ingen udviklere ville vælge Struts for at oprette en applikation i dag.

Dit krav kan let opfyldes ved hjælp af: -Spring MVC: til REST api, klientservermodel, Service Oriented Architecure (SOA). -Spring Security: til sikring af din ansøgning. -Dvale eller forår JDBC skabelon. (gå med Dvaletilstand): til databashåndtering -MySQL til database. -JUnit til enhedstest.

Svar

Spring framework består af et antal moduler, hvoraf den ene er MVC Model View Controller under Web Domain.

Overvej følgende fugleperspektiv af forårsmoduler.

MVC: Du kan se, at webmodul kaldes MVC./Remoting. Dette modul består af al den kedelpladekode, der kræves for at udvikle webapplikationer. Dette inkluderer håndtering af anmodninger, HTTP-metoder, URL-tilknytninger, visningsopløsere, JSP-tagbiblioteker, sessioner. Se 22. Web MVC-ramme for flere detaljer.

IOC – Inversion af kontrol: “Ring ikke til os, vi ringer til dig”

Her kommer den vanskelige del. Som du kan se, er IOC ikke en del af ovenstående moduldiagram. IOC er en del af Spring Core-modulet sammen med mange andre ting.

IOC er ud over Spring. Det er et objektorienteret designprincip, der reducerer afhængighed og øger modulariteten og gør programmet udvideligt.

Som Martin Fowler siger, er inversion af kontrol det princip, hvor et styringsflow for et program er inverteret: i stedet for at programmøren kontrollerer strømmen af ​​et program, de eksterne kilder (ramme, tjenester, andre komponenter) tager kontrol over det.

IOC løser følgende designproblemer.

  • At afkoble udførelsen af en opgave fra implementering.
  • At fokusere et modul på den opgave, det er designet til.
  • At befri moduler fra antagelser om, hvordan andre systemer gør, hvad de gør, og i stedet stole på c ontracts.
  • For at forhindre bivirkninger ved udskiftning af et modul.

Kommer til hvad der er forår IOC.

Forår IOC er måden at implementere IOC på foråret. IOC kan opnås på flere måder. Dokumentation siger –

Det er en proces, hvor objekter definerer deres afhængigheder, det vil sige de andre objekter, de arbejder med, kun gennem konstruktørargumenter, argumenter til en fabriksmetode eller egenskaber, der er indstillet på objektforekomsten efter at den er konstrueret eller returneret fra en fabriksmetode. Containeren injicerer disse afhængigheder, når den opretter bønnen. Denne proces er grundlæggende den omvendte, deraf navnet Inversion of Control (IoC), af bønnen selv, der styrer instantiering eller placering af dens afhængigheder ved hjælp af direkte konstruktion af klasser eller en mekanisme såsom Service Locator mønsteret.

I foråret org.springframework.beans og org.springframework.context indeholder implementeringen af ​​IOC kaldet Spring IOC Container. Grænsefladen org.springframework.context.ApplicationContext repræsenterer Spring IoC-beholderen og er ansvarlig for at instantere, konfigurere og samle objekterne (I foråret er objekterne Bønner).

Læs igennem 7. IoC-containeren og BeanFactory (Spring Framework 4.3.7.RELEASE API) for alle detaljer.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *