Vårens ram förklaras på 5 minuter eller mindre

Spring Framework är ett kraftfullt ramverk för utveckling av Java-applikationer med öppen källkod som gör det enkelt att skapa robusta, högpresterande applikationer.

Öppen källkod hänvisar till något som människor kan komma åt, ändra och dela fritt eftersom källkoden är fritt tillgänglig.

Ett ramverk med öppen källkod är en mall för mjukvaruutveckling skapad av en grupp mjukvaruutvecklare. Det finns olika typer av mallar som används för olika ändamål, som att skapa användargränssnitt, webbplatser och grundläggande mjukvaruapplikationer.

Om du är ny på applikationsutveckling kan det vara en bra start för dig att komma igång med Spring Framework. I den här artikeln får du lära dig vad det är och hur du använder det.

Vad är Spring Framework?

Spring Framework är ett ramverk med öppen källkod som utvecklare använder för att skapa Java-applikationer för företag. Detta ramverk skapades av Rod Johnson och släpptes 2003 under Apache 2.0-licensen.

Vissa programmerare brukar bash Java och hävdar att det är krångligt att skapa grundläggande applikationer. Spring Framework syftar till att förenkla den besvärliga och komplexa processen att utveckla Java-applikationer för företag.

Våren är bred. Det är därför lämpligt att du först förstår vad Spring-ramverket är innan du börjar använda andra Spring-baserade projekt som Spring Boot, Spring GraphQL och Spring Cloud.

Varför använda Spring Framework?

  • Flexibel. Detta ramverk erbjuder teknologier som aspektorienterad programmering (AOP), Dependency Injection (DI) och Plain Old Java Object (POJO). Du kan alltså använda Spring för att uppnå olika mål.
  • Våren är snabb. Trots alla dessa teknologier är Spring Framework fortfarande lätt, vilket gör det idealiskt för att skapa skalbara och robusta företagswebbapplikationer.
  • Fantastisk gemenskap. Våren har en mångfaldig gemenskap och du kan lita på att den hjälper till med olika lösningar när du behöver det.
  • Säkra. Spring är känt för sina säkerhetsåtgärder, och sårbarheter åtgärdas alltid genom frekventa patchar. Tredje parts beroenden övervakas alltid för att säkerställa att deras sårbarheter inte stör kärnprocessen.
  • Produktiv. Spring Framework effektiviserar upplevelsen av att utveckla Java-företagsapplikationer.

Fjädrar funktioner

Stöder aspektorienterad programmering

Aspektorienterad programmering ger mer modularitet till övergripande problem. AOP kompletterar också Objektorienterad programmering.

Huvudenheten för modularitet i AOP är ett tvärgående problem (Aspect). Utvecklare kan därmed skapa deklarativa företagstjänster och anpassade aspekter.

Inversion of Control (IoC) Container

IoC-behållare erbjuder ett strömlinjeformat sätt att hantera och konfigurera Java-objekt. Livscykeln för ett definierat Java-objekt hanteras av den här behållaren, vilket avsevärt ökar omkonfigurerbarheten för en Spring-baserad applikation.

Inversion of Control använder beroendesökning eller beroendeinjektionsmönster för att erbjuda objektreferenskörning. IoC-behållare levereras med assemblerkod som behövs för konfigurationshantering.

Ramverk för dataåtkomst

Datakommunikationsprocessen är förenklad eftersom Spring har direkt stöd för Hibernate, JDBC och Java Persistence API (JPA), några av de mest populära ramverken för dataåtkomst i Java. Du kan också använda detta ramverk för att erbjuda funktioner som resursinpackning, undantagshantering och resurshantering för alla ramverk för dataåtkomst som stöds.

Spring MVC Framework

Utvecklare kan använda detta förfrågningsbaserade ramverk för att skapa skräddarsydda MVC-implementeringar som passar deras behov.

DispatcherServlet-klassen, som har till uppgift att hantera användarnas förfrågningar och sedan vidarebefordra dem till rätt styrenhet, är kärnan i Spring MVC. Regulatorn kan alltså behandla en förfrågan, skapa en modell och erbjuda information till slutanvändaren genom en specificerad vy.

Har flera testramar

Du kan testa dina Spring-baserade applikationer när du utvecklar dem genom Mock-objekt, TestContext-ramverket eller Spring MVC-testet.

Språkstöd

Spring framework stödjer Groovy och Kotlin.

Vårens arkitektur

Spring Framework kommer med cirka 20 moduler. Det som är bra med det här ramverket är att det låter dig välja moduler som är tillämpliga på ditt användningsfall. Dessa moduler är grupperade i Core Container, AOP (Aspect Oriented Programming), Data Access/Integration, Web, Instrumentation och Test.

Bildkredit: Spring.io

#1. Kärnbehållare

Kärnbehållaren i Spring Framework innehåller modeller för Core, Beans, Context och Expression Language. Dessa språkmodeller är användbara på följande sätt;

  • Kärnmodulen är den grundläggande delen av ramverket. Du hittar funktioner för IoC och Dependency Injection i kärnan.
  • Bean-modulen är känd för BeanFactory, en sofistikerad implementering av fabriksmönstret.
  • Kontextmodulen är byggd på Core- och Bean-modulerna. Den här modulen ärver sina funktioner från Bean-modulen men lägger till stöd för internationalisering.
  • Expression Language-modulen erbjuder ett kraftfullt uttrycksspråk för att manipulera och fråga en objektgraf under körning.

#2. Dataåtkomst/Integration

JDBC-, ORM-, OXM-, JMS- och Transaction-modulerna utgör dataåtkomst/integreringsskiktet. Dessa moduler utför följande;

  • JDBC-modulen har ett JBDC-abstraktionslager som eliminerar behovet av att göra tråkig JDBC-kodning såväl som att analysera databasleverantörsspecifika felkoder.
  • ORM är ett integrationslager för några av de populära objektrelationella kartläggnings-API:erna som JPA, JDO, Hibernate och iBatis. ’
  • OXM-modulen är ett abstraktionslager som stöder objekt/XML-mappningsimplementeringar för XStream, JAXB, JiBX, Castor och XMLBeans.
  • Transaktionsmodulen stöder deklarativ och programmatisk transaktionshantering för klasser som implementerar speciella gränssnitt.
  • Java Messaging Service-modulen (JMS) har funktioner som producerar och konsumerar meddelanden.

#3. AOP (Aspect Oriented Programming) och instrumentering

Den här modulen levereras med AOP Alliance-kompatibel aspektorienterad programmeringsimplementering, vilket gör det enkelt att definiera saker som metodinterceptorer. Å andra sidan erbjuder instrumenteringsmodulen klassladdare och klassinstrumenteringsstöd för användning i vissa applikationsservrar.

#4. webb

Webb-, Web-Servlet-, Web-Struts och Web-Portlet-moduler utgör webblagret.

  • Webbmodulen ansvarar för grundläggande webborienterade integrationsfunktioner som flerdelad filuppladdningsfunktion.
  • Web-Servlet-modulen innehåller Springs MVC-implementering för webbapplikationer.
  • Web-Portlet-modulen speglar funktionaliteten hos Web-Servlet-modulen. Web-Portlet-modulen erbjuder MVC-implementering för användning i en portletmiljö.
  • Web-Socket-modulen stöder tvåvägskommunikation mellan servern och klienten i webbapplikationer.

#5. Testa

Testmodulen är den sista delen av Springs arkitektur. Det är modulen som stödjer testning av fjäderkomponenter med TestNG eller JUnit.

Installera Spring Framework

Kontrollera att Java är installerat

Innan vi lär oss hur Spring Framework fungerar måste vi installera Spring på vår PC. Vårens dokumentation har omfattande resurser om hur du kommer igång beroende på ditt operativsystem.

I vårt fall kommer vi att använda Ubuntu 20.04.5, ett Linux-baserat operativsystem.

Innan du installerar Spring, se till att du har Java installerat med det här kommandot

java -version

Om du har Java installerat kommer du att ha en utgång som liknar den här skärmdumpen.

Om du inte har det på din PC, finns det flera sätt att installera Java baserat på dina behov.

Installera fjäderram

Det finns flera tillvägagångssätt för att installera Spring-ramverket, vilket framhålls i Spring-dokumentationen.

För vårt fall kommer vi att använda GVM (den Groovy Environment Manager). Du kan skaffa GVM med GVMtool eller installera det på kommandoraden.

När du har GVM, använd följande kommandon för att installera och kontrollera om Spring-ramverket är installerat

gvm install springboot
spring --version

Du kommer sannolikt att få en utgång som ser ut så här om Spring är installerad

Viktiga termer förknippade med Spring-ramverket

Beroendeinjektion

Dependency Injection är en funktion som låter utvecklare skapa oberoende objekt utanför klassen. DI tillåter också användare att tillhandahålla dessa objekt till en klass på olika sätt.

Inversion of Control (IoC)

IoC är ett koncept som överför kontrollen av delar av ett program eller objekt till ett ramverk eller en container. I traditionell programmering ringer vår anpassade kod till ett bibliotek. Å andra sidan tillåter IoC ett ramverk (vår i det här fallet) för att göra anrop till vår anpassade kod och styra programmets flöde.

Aspektorienterad programmering (AOP)

AOP är en teknik för att bygga gemensamma och återanvändbara rutiner som kan tillämpas i hela applikationen. Ett sådant tillvägagångssätt skiljer repeterbara uppgifter (som indatavalidering, loggning och felhantering) från kärnapplikationslogiken.

Spring Framework Learning Resources

#1. Reaktiv programmering med Spring Framework 5

Denna vårkurs består av videor, artiklar och nedladdningsbara resurser. Kursen lär ut funktionell programmering med Java, hur man mikrotjänster med Spring WebFlux och hur man utnyttjar reaktiva typer i Spring Data MongoDB.

#2. Spring Framework Master Class

Spring Framework Master Class är en betald kurs som lär ut hur Java-projekt använder Spring Framework på riktigt. Du kommer att lära dig hur du använder olika verktyg som Spring Boot, JUnit & Mockito, Spring JDBC, Spring AOP och Hibernate.

#3. Vår Ram I Enkla Steg

Spring Framework In Easy Steps är en idealisk premiumkurs att ta om du vill skapa End to End Java EE Web Applications med Spring Framework. Några av de saker du kommer att lära dig är hur man utvecklar webbapplikationer med Spring MVC, hur man gör Ajax Call med JQuery och Spring MVC och hur man använder Spring JDBC för att utföra databasoperationer, för att nämna några.

#4. Spring Framework 5

Spring Framework 5-kursen är idealisk om du vill lära dig Lär dig Spring Framework 5, Spring Data MongoDB, Spring Boot 2, Spring MVC, Spring Data JPA och Hibernate. Du kan lita på de 57 timmarna av on-demand-videor, 13 artiklar och en hel del nedladdningsbart material.

Författarens anteckning

Java är fortfarande ett av de mest populära programmeringsspråken i den moderna världen. Även om nya språk introduceras, ger ramverk som Spring nytt liv till Java och utökar dess användbarhet. Vi kommer därför sannolikt att fortsätta ha efterfrågan på Java-ingenjörer eftersom de behövs för att underhålla äldre kod och även skapa nya applikationer.

Slutsats

Spring rankas högt bland Java EE-ramverk, och vi hoppas att du nu förstår vad Spring Framework är, dess funktioner, arkitektur och arbetsprocess. I kombination med andra Spring-projekt erbjuder Spring Framework utvecklare olika utvecklingsverktyg som kan användas i olika utvecklingsmiljöer.