Spring Tutorial: Hvad er Spring Framework og hvordan installeres?

โšก Smart opsummering

Spring Framework er et open source, letvรฆgts Java Framework til opbygning af virksomhedswebapplikationer, der tilbyder Inversion of Control, Dependency Injection, en modulรฆr arkitektur med omkring 20 moduler, Spring MVC og Aspect-Oriented Programming for at skabe lรธst koblet, testbar software.

  • ???? Fjeder defineret: En open source, letvรฆgts Java Framework til opbygning af virksomheds- og webapplikationer.
  • ๐Ÿ”Œ Kernefunktioner: Inversion of Control og Dependency Injection muliggรธr lรธs kobling og nem testning.
  • ๐Ÿงฉ Modular Archilรฆre: Omkring 20 moduler dรฆkker Core, Beans, Context, Data Access, Web og Test.
  • ๐Ÿ–ฅ๏ธ Forรฅrs-MVC: Et model-view-controller-framework drevet af DispatcherServlet frontcontrolleren.
  • โœ‚๏ธ Aspektorienteret programmering: Centraliserer tvรฆrgรฅende bekymringer sรฅsom logfรธring, sikkerhed og transaktioner.
  • โš–๏ธ For og imod: Aktiverer POJO-baserede virksomhedsapps og -skabeloner, men kan pรฅlรฆgge mange begrรฆnsninger.

Spring Framework-vejledning

Hvad er Spring Framework?

Spring Framework er en open source-ramme til at bygge webapplikationer med Java som programmeringssprog. Det er kraftfuldt og let, men alligevel nemt at bruge, og det understรธtter udviklingping Java applikationer nemt. Spring er en letvรฆgtsramme, der kan opfattes som en ramme af rammer, fordi den ogsรฅ tilbyder stรธtte til forskellige rammer sรฅsom dvaletilstand, stivere, gobelin og JSF.

Spring Framework

Spring Framework

Funktioner af Spring Framework

Nu i denne forรฅrstutorial vil vi dรฆkke nogle af de mest fremtrรฆdende trรฆk ved Spring Framework:

  • Foruddefinerede skabeloner
  • Let at teste
  • Lรธs kobling
  • Letvรฆgt
  • Hurtig udvikling
  • Kraftige mavemusklertraction
  • Tilbyder en rรฆkke ressourcer
  • Erklรฆrende stรธtte
  • Tilbyder omfattende vรฆrktรธjer

Kort historie om forรฅret

Nu i denne forรฅrsramme-tutorial vil vi dรฆkke nogle vigtige vartegn fra forรฅrets historie:

  • Spring framework blev skrevet af Rod Johnson og blev fรธrst udgivet i juni 2002.
  • Forรฅr last version udgivet i marts 2004
  • Spring 1.2.6 version udgivelse i 2006
  • Spring 2.0-versionsudgivelse i oktober 2006
  • Spring 2.5 version udgivelse i november 2007
  • Spring 3 version udgivelse i december 2009
  • Spring 3.1 version udgivelse i december 2011
  • Spring framework 4 version udgivelse i december 2013 med Java 8 support
  • Spring framework 4.2.0 version udgivet i juli 2015
  • Spring framework 4.2.1 version frigivet i september 2015
  • Spring Framework 4.3 version udgivet den 10. juni 2016
  • Spring framework 5.0 version udgivet i juni 2017

Spring Framework Architecture

Forรฅrsrammerne Architecture giver 20 moduler, som kan bruges baseret pรฅ et applikationskrav.

Spring Framework Architecture

Spring Framework Architecture

Core og Bรธnne give den grundlรฆggende del af rammen, herunder IoC og DI.

Kernebeholder

Core Container er yderligere opdelt af underkomponenter som Core, Beans, Context og Expression Language moduler.

Lad os se hver af disse modeller i detaljer:

Fjederkerne:

Core-modulet leverer hele den primรฆre komponent i fjederrammerne. Det inkluderer IoC (Inversion of Control) og Dependency Injection-funktioner.

Spring Bean:

Dette modul tilbyder BeanFactory, som er en sofistikeret implementering af fabriksmรธnsteret.

Forรฅrskontekst:

Kontekstmodulet bygger pรฅ den solide base, som Core- og Beans-modulerne giver, og det er et medie, som hjรฆlper dig med at fรฅ adgang til alle objekter, der er defineret og konfigureret.

Spring Expression Languages โ€‹โ€‹(SpEL):

Dette modul tilbyder udtrykssprog til รฆndring og forespรธrgsel pรฅ objektgraf under kรธrsel.

Dataadgang/Integration:

Dataadgangs- og integrationslaget bestรฅr af modulerne JDBC, ORM, JDBC, OXM, JMS og Transaktion.

  • ORM: ORM-modulet tilbyder konsistens/portabilitet til kode uanset dataadgangsteknologier. Det vil vรฆre baseret pรฅ objektorienteret kortlรฆgning.ping koncept.
  • JDBC-modulet bestรฅr af en JDBC-abstraction-laget. Det hjรฆlper dig med at definere behovet for at udfรธre JDBC-relateret kodning.
  • OXM: Object XML Mappers (OCM) hjรฆlper dig med at konvertere objekterne til XML-format og omvendt.
  • Java Messaging Service-modulet tilbyder funktioner som at producere og forbruge beskeder.
  • Transaktion: Dette modul tilbyder deklarativ og programmatisk styringsmetode til implementering af unikke grรฆnseflader og for alle typer POJO'er (Plain Old Java Objekt)

Forรฅrsweb:

Website: Dette modul bruger servlet-lyttere og en web-orienteret applikationskontekst. Det tilbyder ogsรฅ en funktion af web-orienteret integration og funktionalitet til multi-part fil upload.

Web-servlet: Dette modul gemmer MVC-baseret implementering for webapplikationer.

Web-socket: Modul tilbyder WebSocket-baseret og tovejskommunikation mellem klienten og serveren i webapps.

Web-portlet: Dette modul kaldes ogsรฅ Spring-MVC-Portlet-modul. Det tilbyder forรฅr-baserede portlets og kopierer al funktionaliteten af โ€‹โ€‹et web-servlet-modul.

AOP: AOP-sprog er et nyttigt vรฆrktรธj, som giver udviklere mulighed for at tilfรธje virksomhedsfunktionalitet til applikationen.

Instrumentering: Dette modul tilbyder klasse instrumentering og loader implementeringer. Det bruges til specifikke applikationsservere.

Test: Dette modul giver support til test af fjederkomponenter med TestNG or JUnit vรฆrktรธjer. Det tilbyder ensartet indlรฆsning af Spring ApplicationContexts og caching af disse kontekster.

Fjeder โ€“ MVC Framework

Nu i denne Spring Framework tutorial, vil vi lรฆre om Spring MVC framework:

Spring MVC-ramme

Spring MVC-ramme

Spring web MVC-rammevรฆrket tilbyder model-view-controller-arkitektur tilbyder komponenter, der hjรฆlper dig med at vรฆre fleksible og lรธst koblede webapplikationer.

MVC-mรธnsteret giver dig mulighed for at adskille forskellige aspekter af applikationen, mens du tilbyder lรธs kobling mellem disse elementer. Spring MVC hjรฆlper dig ogsรฅ med at bygge fleksible og lรธst koblede webapplikationer.

MVC-designet giver dig ogsรฅ mulighed for at adskille forretningslogik, prรฆsentationslogik og navigationslogik. Det tilbyder ogsรฅ en elegant lรธsning til at bruge MVC i Spring Framework ved hjรฆlp af DispatcherServlet.

Hvordan fungerer MVC i forรฅret?

Nu i forรฅrets selvstudie skal vi lรฆre hvordan MVC virker om forรฅret:

MVC arbejder i forรฅret

Sรฅdan fungerer MVC i forรฅret

  • DispatcherServlet modtager en anmodning.
  • Derefter kommunikerer DispatcherServlet med HandlerMappingDen tilbagekalder ogsรฅ den dataansvarlige, der er knyttet til den specifikke anmodning.
  • Controlleren behandler denne anmodning ved at kalde servicemetoderne og et ModelAndView-objekt returneret af DispatcherServlet.
  • Visningsnavnet sendes til en ViewResolver for at sรธge i den faktiske View, der skal aktiveres.
  • Derefter sendes DispatcherServlet til View for at gengive resultatet.
  • Ved at bruge modeldataene gengiver visningen og sender resultatet tilbage til brugeren.

Aspekt-orienteret programmering

Aspekt-orienteret programmering gรธr det muligt for et programs globale egenskaber at bestemme, hvordan det kompileres til et eksekverbart program.

Nรธglenheden for modularitet er et aspekt i stedet for en klasse. Aspekt-orienteret programmering nedbryder programmets logik i forskellige dele kendt som bekymringer.

En tvรฆrgรฅende bekymring kan pรฅvirke hele applikationen og er centraliseret pรฅ รฉt sted i kode som transaktionssikkerhed, administration, logning, godkendelse osv.

Tvรฆrgรฅende bekymring

Tvรฆrgรฅende bekymring

Det kan ogsรฅ betragtes som et dynamisk dekoratordesignmรธnster. Dette mรธnster tilbyder ogsรฅ en yderligere adfรฆrd, der kan tilfรธjes til en eksisterende klasse ved hjรฆlp af ombrydning.ping den oprindelige klasse og duplikere dens grรฆnseflade og fjerne originalen.

Kerne AOP Concepts

Der er syv kernekoncepter i aspektorienteret programmering.

Kerne AOP Concepts

Kerne AOP Concepts

Lad os diskutere dem i detaljer:

  • AspectEt aspekt er en klasse, der tillader implementering af JEE-applikationen. Det omhandler elementer, der gรฅr pรฅ tvรฆrs af flere klasser, sรฅsom transaktionsstyring, sikkerhed osv. Aspekter kan vรฆre en typisk klasse konfigureret ved hjรฆlp af Spring XML-konfiguration eller en almindelig klasse annoteret ved hjรฆlp af @Aspect-annotering.
  • Joinpoint: Det er et kandidatpunkt i programudfรธrelsen, hvor et aspekt kan tilsluttes. Det kunne vรฆre en metode, der kaldes som en undtagelse, der kastes, eller endda et felt, der รฆndres.
  • Rรฅdgivning: Rรฅdgivning er de faktiske handlinger, der tages for et specifikt joinpoint. Denne metode udfรธres, nรฅr et specifikt joinpoint mรธder et matchende punkt i applikationen.
  • Pointcut: Det er et udtryk, der kan matches med joinpunkter for at kontrollere, om det rรฅd skal udfรธres eller ej.
  • Target Objekt: Baseret pรฅ mรฅlobjekt anvendes enheder. I AOP oprettes en underklasse under kรธrsel, hvor mรฅlmetoden skal tilsidesรฆttes, og rรฅdgivning er inkluderet afhรฆngigt af deres konfiguration.
  • proxy: Dette objekt skal oprettes efter at have anvendt rรฅdgivningen pรฅ mรฅlobjektet.
  • Vรฆvning: Dette er en metode til at forbinde et aspekt med andre applikationsobjekter eller typer for at bygge et anbefalet objekt.

Installation af Java Forรฅr

Nu i dette Java Forรฅr tutorial, vil vi lรฆre trin for trin information for at installere Java Forรฅr i din computer:

Trin 1) ร…bn din browser.
Gรฅ til www.eclipse.org.

Trin 2) Hent Eclipse Installer.
Hent Eclipse Neon installationsprogram og installer det pรฅ din Windows system.

Installation af Java Forรฅr

Trin 3) Find 64-bit version.
Klik pรฅ knappen "Download 64-bit".

Installation af Java Forรฅr

Trin 4) Find IDE til Java Udviklere.
Gรฅ til Eclipse IDE til Java Udviklere og klik pรฅ linket "64-bit".

Installation af Java Forรฅr

Trin 5) Find 64-bit link.
Klik pรฅ "Windows 64-bit" link.

Installation af Java Forรฅr

Trin 6) Download zip-fil.
Klik pรฅ knappen "Download" for at downloade zip-filen.

Installation af Java Forรฅr

Trin 7) Extract zip-filen.
Extract download-zip-filen til en bestemt mappe.

Installation af Java Forรฅr

Trin 8) Vรฆlg arbejdsomrรฅdemappe.
Klik pรฅ "Gennemse"-knappen for at vรฆlge arbejdsomrรฅdemappen.

Installation af Java Forรฅr

Trin 9) Vรฆlg mappe.
Klik pรฅ "Vรฆlg mappe" for at vรฆlge en mappe.

Installation af Java Forรฅr

Processen vil blive vist som vist pรฅ fรธlgende skรฆrm.

Installation af Java Forรฅr

Trin 10) ร…bn klient.
ร…bning Eclipse Markedspladsklient.

  1. Gรฅ til menuen Hjรฆlp.
  2. Klik pรฅ "Eclipse Marketpalce" mulighed.

Installation af Java Forรฅr

Trin 11) Sรธg spring plugin.
Sรธger og installerer Spring plugin.

  1. Skriv forรฅr i "Find" tekstboksen.
  2. Klik pรฅ ikonet "Sรธg".
  3. Klik pรฅ knappen "Installer" for at installere et plugin.

Installation af Java Forรฅr

Trin 12) Klik pรฅ knappen 'bekrรฆft'.
Bekrรฆft valgte funktioner, og klik pรฅ knappen "Bekrรฆft".

Installation af Java Forรฅr

Trin 13) Accepter betingelser.
Accept af vilkรฅr og betingelser og installation af softwaren.

  1. Klik pรฅ alternativknappen "Jeg accepterer vilkรฅrene i licensaftalerne".
  2. Klik pรฅ knappen "Udfรธr" for at afslutte installationen.

Installation af Java Forรฅr

En velkomstskรฆrm vil blive vist med softwareinstallationens fremskridt.

Installation af Java Forรฅr

Trin 14) Genstart IDE.
Klik pรฅ knappen "Genstart nu" for at genstarte Eclipse IDE og anvende รฆndringerne.

Installation af Java Forรฅr

Fรธlgende skรฆrm vil blive vist:

Installation af Java Forรฅr

Fordele ved Spring Framework

Her er vigtige fordele/fordele ved at bruge fjeder.

  • Spring giver udviklere mulighed for at udvikle applikationer i virksomhedsklassen ved hjรฆlp af POJO'er.
  • Tilbyder skabeloner til Hibernate, JDBC, Hibernate, JPA osv. for at undgรฅ at skrive lang kode.
  • Giver mavemusklertraction til Java Enterprise Edition (JEE).
  • Du kan organisere en fjeder pรฅ en modulรฆr mรฅde. Sรฅ hvis et antal pakker og klasser er betydelige, behรธver du kun at vide, hvad du har brug for, og ignorere resten.
  • Det tilbyder deklarativ stรธtte til transaktioner, formatering, validering, caching osv.
  • Applikationen udviklet ved hjรฆlp af spring er enkel, da den miljรธafhรฆngige kode flyttes ind i denne ramme.

Ulemper ved Spring Framework

Her er ulemper/ulemper ved Spring Framework.

  • Java forรฅret byder pรฅ for mange begrรฆnsninger.
  • Code er offentlig, er den synlig for alle.
  • Det tilbyder heller ikke specialbyggede funktioner.

Tjek ogsรฅ:- Top 80 Spรธrgsmรฅl og svar til interview med MVC Framework fra forรฅret

Ofte Stillede Spรธrgsmรฅl

Spring er et omfattende framework, der krรฆver manuel konfiguration, mens Spring Boot er bygget pรฅ Spring for at levere automatisk konfiguration, indlejrede servere og startafhรฆngigheder, hvilket gรธr det hurtigere at oprette enkeltstรฅende, produktionsklare applikationer.

Afhรฆngighedsinjektion er et designmรธnster, hvor Spring-containeren leverer et objekts afhรฆngigheder i stedet for at objektet opretter dem. Det fremmer lรธs kobling og nemmere testning gennem inversion af kontrol.

DispatcherServlet er frontcontrolleren i Spring MVC. Den modtager alle anmodninger og konsulterer HandlerMap.ping og controllere, lรธser visningen via en ViewResolver og returnerer det gengivne svar.

AI er integreret i Spring-applikationer gennem biblioteker som Spring AI, der forbinder til modeller til chat, indlejringer og hentning. Spring-containeren administrerer AI-tjenester som beans i applikationen.

Ja. AI-assistenter kan generere Spring-controllere, konfigurere beans, skrive REST-slutpunkter og foreslรฅ afhรฆngighedsinjektionsmรธnstre, helping Udviklere bygger Spring-applikationer hurtigere, mens de stadig gennemgรฅr outputtet.

Opsummer dette indlรฆg med: