Vårramme forklart på 5 minutter eller mindre

Spring Framework er et kraftig åpen kildekode Java-applikasjonsutviklingsrammeverk som gjør det enkelt å lage robuste applikasjoner med høy ytelse.

Åpen kildekode refererer til noe folk kan få tilgang til, endre og dele fritt ettersom kildekoden er fritt tilgjengelig.

Et rammeverk med åpen kildekode er en mal for programvareutvikling laget av en gruppe programvareutviklere. Det finnes forskjellige typer maler som brukes til forskjellige formål, for eksempel å lage brukergrensesnitt, nettsteder og grunnleggende programvareapplikasjoner.

Hvis du er ny på applikasjonsutvikling, kan det være en god start for deg å komme i gang med Spring Framework. I denne artikkelen lærer du hva det er og hvordan du bruker det.

Hva er Spring Framework?

Spring Framework er et åpen kildekode-rammeverk som utviklere bruker til å lage Java-applikasjoner for bedrifter. Dette rammeverket ble opprettet av Rod Johnson og utgitt i 2003 under Apache 2.0-lisensen.

Noen programmerere bash vanligvis Java og hevder det er tungvint å lage grunnleggende applikasjoner. Spring Framework har som mål å forenkle den tungvinte og komplekse prosessen med å utvikle Java-applikasjoner for bedrifter.

Våren er bred. Det er derfor lurt at du først forstår hva Spring-rammeverket er før du begynner å bruke andre Spring-baserte prosjekter som Spring Boot, Spring GraphQL og Spring Cloud.

Hvorfor bruke Spring Framework?

  • Fleksibel. Dette rammeverket tilbyr teknologier som Aspect-oriented programmering (AOP), Dependency injection (DI) og Plain Old Java Object (POJO). Du kan dermed bruke Spring til å nå ulike mål.
  • Våren er rask. Til tross for å ha alle disse teknologiene, er Spring Framework fortsatt lett, noe som gjør det ideelt for å lage skalerbare og robuste webapplikasjoner for bedrifter.
  • Fantastisk fellesskap. Våren har et mangfoldig fellesskap, og du kan stole på at den hjelper deg med ulike løsninger når du trenger det.
  • Sikre. Spring er kjent for sine sikkerhetstiltak, og sårbarheter løses alltid gjennom hyppige oppdateringer. Tredjepartsavhengigheter overvåkes alltid for å sikre at deres sårbarheter ikke forstyrrer kjerneprosessen.
  • Produktivt. Spring Framework effektiviserer opplevelsen av å utvikle Java-bedriftsapplikasjoner.
  14 kurs i etisk hacking for å bli en sikkerhetsekspert

Fjærer funksjoner

Støtter aspektorientert programmering

Aspektorientert programmering gir mer modularitet til tverrgående bekymringer. AOP komplimenterer også Objektorientert programmering.

Hovedenheten for modularitet i AOP er en tverrgående bekymring (Aspect). Utviklere kan dermed lage deklarative bedriftstjenester og tilpassede aspekter.

Inversjon av kontroll (IoC) container

IoC-beholder tilbyr en strømlinjeformet måte å administrere og konfigurere Java-objekter på. Livssyklusen til et definert Java-objekt administreres av denne beholderen, noe som betydelig øker rekonfigurerbarheten til en Spring-basert applikasjon.

Inversjon av kontroll bruker avhengighetsoppslag eller avhengighetsinjeksjonsmønstre for å tilby objektreferansekjøringen. IoC-beholder kommer med assemblerkode som er nødvendig for konfigurasjonsadministrasjon.

Datatilgangsrammeverk

Datakommunikasjonsprosessen er forenklet ettersom Spring har direkte støtte for Hibernate, JDBC og Java Persistence API (JPA), noen av de mest populære rammeverkene for datatilgang i Java. Du kan også bruke dette rammeverket for å tilby funksjoner som ressursinnpakning, unntakshåndtering og ressursadministrasjon for alle støttede rammeverk for datatilgang.

Spring MVC Framework

Utviklere kan bruke dette forespørselsbaserte rammeverket for å lage tilpassede MVC-implementeringer som passer deres behov.

DispatcherServlet-klassen, som har i oppgave å håndtere brukernes forespørsler og deretter videresende dem til riktig kontroller, er kjernen i Spring MVC. Kontrolleren kan dermed behandle en forespørsel, lage en modell og tilby informasjon til sluttbrukeren gjennom en spesifisert visning.

Har flere testrammer

Du kan teste de Spring-baserte applikasjonene dine mens du utvikler dem gjennom Mock-objekter, TestContext-rammeverket eller Spring MVC-testen.

Språkstøtte

Springramme støtter Groovy og Kotlin.

Vårens arkitektur

Spring Framework kommer med ca 20 moduler. Det som er bra med dette rammeverket er at det lar deg velge moduler som passer til din brukstilfelle. Disse modulene er gruppert i Core Container, AOP (Aspect Oriented Programming), Data Access/Integration, Web, Instrumentation og Test.

Bildekreditt: Spring.io

#1. Kjernebeholder

The Core Container of Spring Framework inneholder Core, Beans, Context og Expression Language-modeller. Disse språkmodellene er nyttige på følgende måter;

  • Kjernemodulen er den grunnleggende delen av rammeverket. Du finner IoC- og Dependency Injection-funksjoner i kjernen.
  • Bean-modulen er kjent for BeanFactory, en sofistikert implementering av fabrikkmønsteret.
  • Kontekstmodulen er bygget på Core- og Bean-modulene. Denne modulen arver funksjonene fra Bean-modulen, men legger til støtte for internasjonalisering.
  • Expression Language-modulen tilbyr et kraftig uttrykksspråk for å manipulere og spørre en objektgraf under kjøring.
  Hvordan redigere bilder i Google Slides

#2. Datatilgang/Integrasjon

JDBC-, ORM-, OXM-, JMS- og Transaction-moduler utgjør datatilgang/integrasjonslaget. Disse modulene utfører følgende;

  • JDBC-modulen har et JBDC-abstraksjonslag som eliminerer behovet for kjedelig JDBC-koding samt analysering av databaseleverandørspesifikke feilkoder.
  • ORM er et integreringslag for noen av de populære objektrelasjonelle kartleggings-APIene som JPA, JDO, Hibernate og iBatis. «
  • OXM-modulen er et abstraksjonslag som støtter objekt/XML-kartleggingsimplementeringer for XStream, JAXB, JiBX, Castor og XMLBeans.
  • Transaksjonsmodulen støtter deklarativ og programmatisk transaksjonsadministrasjon for klasser som implementerer spesielle grensesnitt.
  • Java Messaging Service (JMS)-modulen har funksjoner som produserer og forbruker meldinger.

#3. AOP (Aspect Oriented Programming) og instrumentering

Denne modulen kommer med AOP Alliance-kompatibel aspektorientert programmeringsimplementering, som gjør det enkelt å definere ting som metodeavskjærere. På den annen side tilbyr instrumenteringsmodulen klasselaster og klasseinstrumenteringsstøtte som kan brukes i visse applikasjonsservere.

#4. Web

Web-, Web-Servlet-, Web-Struts og Web-Portlet-moduler utgjør nettlaget.

  • Nettmodulen er ansvarlig for grunnleggende nettorienterte integrasjonsfunksjoner som flerdelt filopplastingsfunksjonalitet.
  • Web-Servlet-modulen inneholder Springs MVC-implementering for webapplikasjoner.
  • Web-Portlet-modulen gjenspeiler funksjonaliteten til Web-Servlet-modulen. Web-Portlet-modulen tilbyr MVC-implementering for bruk i et portletmiljø.
  • Web-Socket-modulen støtter toveiskommunikasjon mellom server og klient i webapplikasjoner.

#5. Test

Testmodulen er siste del av Springs arkitektur. Det er modulen som støtter testing av Spring-komponenter med TestNG eller JUnit.

Installer Spring Framework

Sjekk at Java er installert

Før vi lærer hvordan Spring Framework fungerer, må vi installere Spring på vår PC. Vårdokumentasjon har omfattende ressurser om hvordan du kommer i gang, avhengig av operativsystemet ditt.

For vårt tilfelle skal vi bruke Ubuntu 20.04.5, et Linux-basert operativsystem.

Før du installerer Spring, sørg for at du har Java installert med denne kommandoen

java -version

Hvis du har Java installert, vil du ha en utgang som ligner på dette skjermbildet.

Hvis du ikke har det på PC-en, er det flere måter å installere Java på basert på dine behov.

Installer Spring-rammeverket

Det er flere tilnærminger til å installere Spring-rammeverket, som fremhevet i Spring-dokumenter.

For vårt tilfelle vil vi bruke GVM (Groovy Environment Manager). Du kan få GVM ved å bruke GVMtool eller installere den på kommandolinjen.

  Fiks Amazon Music Not Lasting Error 200

Når du har GVM, bruk følgende kommandoer for å installere og sjekke om Spring-rammeverket er installert

gvm install springboot
spring --version

Du vil sannsynligvis få en utgang som ser slik ut hvis Spring er installert

Viktige vilkår knyttet til Spring-rammeverket

Avhengighetsinjeksjon

Dependency Injection er en funksjon som lar utviklere lage uavhengige objekter utenfor klassen. DI lar også brukere gi disse objektene til en klasse på forskjellige måter.

Inversjon av kontroll (IoC)

IoC er et konsept som overfører kontrollen av deler av et program eller objekter til et rammeverk eller beholder. I tradisjonell programmering ringer vår tilpassede kode til et bibliotek. På den annen side tillater IoC et rammeverk (våren i dette tilfellet) for å ringe til vår egendefinerte kode og kontrollere flyten av programmet.

Aspekt-orientert programmering (AOP)

AOP er en teknikk for å bygge felles og gjenbrukbare rutiner som kan brukes i hele applikasjonen. En slik tilnærming skiller repeterbare oppgaver (som inndatavalidering, logging og feilhåndtering) fra kjerneapplikasjonslogikken.

Spring Framework læringsressurser

#1. Reaktiv programmering med Spring Framework 5

Dette vårkurset består av videoer, artikler og nedlastbare ressurser. Kurset lærer funksjonell programmering med Java, hvordan mikrotjenester med Spring WebFlux og hvordan utnytte reaktive typer i Spring Data MongoDB.

#2. Spring Framework Master Class

Spring Framework Master Class er et betalt kurs som lærer den virkelige måten Java-prosjekter bruker Spring Framework på. Du vil lære hvordan du bruker ulike verktøy som Spring Boot, JUnit & Mockito, Spring JDBC, Spring AOP og Hibernate.

#3. Spring Framework i enkle trinn

Spring Framework In Easy Steps er et ideelt førsteklasses kurs å ta hvis du vil lage End to End Java EE Web Applications ved hjelp av Spring Framework. Noen av tingene du vil lære er hvordan du utvikler webapplikasjoner ved hjelp av Spring MVC, hvordan du lager Ajax-anrop med JQuery og Spring MVC, og hvordan du bruker Spring JDBC til å utføre databaseoperasjoner, for å nevne noen.

#4. Spring Framework 5

Spring Framework 5-kurset er ideelt hvis du ønsker å lære Lær Spring Framework 5, Spring Data MongoDB, Spring Boot 2, Spring MVC, Spring Data JPA og Hibernate. Du kan stole på de 57 timene med on-demand-videoer, 13 artikler og mye nedlastbart materiale.

Forfatterens notat

Java er fortsatt et av de mest populære programmeringsspråkene i den moderne verden. Selv om nye språk introduseres, gir rammeverk som Spring nytt liv til Java og utvider nytten. Vi vil derfor sannsynligvis fortsette å ha etterspørsel etter Java-ingeniører ettersom de er nødvendige for å opprettholde eldre kode og også lage nye applikasjoner.

Konklusjon

Spring rangerer høyt blant Java EE-rammeverk, og vi håper du nå forstår hva Spring Framework er, funksjonene, arkitekturen og arbeidsprosessen. Når det kombineres med andre Spring-prosjekter, tilbyr Spring Framework utviklere ulike utviklingsverktøy som kan brukes på tvers av ulike utviklingsmiljøer.