Hvad er Spring Framework? - Vej til effektiv udvikling

Denne blog om hvad der er Spring Framework taler om det udbredte Java Framework - Spring. Den fortæller også hvorfor og hvordan man bruger Spring Framework med eksempler.

I dagens hurtige verden har vi brug for alt for at være hurtig. Vi ønsker ikke at holde os engageret i et arbejde for længe, ​​lad det være noget som at rejse, shoppe, studere eller arbejde. Når det kommer til kodning, ønsker vi, at vores applikationer skal udvikles på kortest mulig tid, men med fuld effektivitet. Vi har måske travlt, men alligevel kan vi hverken gå på kompromis med vores kvalitet, eller vi vil lægge for meget på det. Så hvad er løsningen? Rammer fungerer bedst i denne situation. Der er forskellige rammer til rådighed derude på markedet, blandt hvilke få bruges som: Spring, Hibernate, Struts osv. Gennem denne blog skal vi finde ud af, hvad der er Spring Framework, og hvorfor det er så populært på markedet!



Lad os tage et kig på de emner, jeg vil diskutere i denne blog, inden vi starter:



Java Frameworks

Hvorfor skulle vi gå efter rammer?Lad osforstå det med vores ven, Coddy .

Coddy i problem - Hvad er Spring Framework - Edureka!



Coddy får en opgave til at udvikle en applikation, men den tildelte tid er ikke tilstrækkelig til at afslutte den. Han er nødt til at skrive en masse kodelinjer (LOC) alene. Det er meget tidskrævende og trættende. Han er forvirret, hvad han skal gøre! Hvor han skal starte fra!

Coddy begynder at tænke på en løsning på sit problem. Han har brug for noget, der er hurtigt og effektivt sparer tid og kræfter, som noget færdigt.



Pludselig rammer ideen om at bruge Frameworks ham. Rammerne er hurtige, effektive og lette. De er store kroppe af foruddefinerede koder, som vi let kan føje til vores egen kode for at løse et specifikt problem.

Han koder ved hjælp af rammen. Overraskende nok koden let monteret med rammen.

Coddy nu kan kode hurtigere og færdiggøre sin ansøgning inden for den givne tidsramme. Desuden er han fri for at skrive tusinder af linjer med ikke-funktionel kode.

forskellen mellem final endelig og finalize i java

Efter implementering af applikationen, der blev udviklet ved hjælp af Framework, fandt han, at den blev udført med meget højere hastighed, og dens gennemløb steg også sammenlignet med andre applikationer, der blev udviklet uden at bruge Framework.

Så lad os nu begynde med Java Frameworks.

Hvordan Java Frameworks blev til?

Sent i 1990'erne blev applikationerne bredt udviklet ved hjælp af JEE-standarder. Forudsætningen for J2EE var multi-platform / multi-leverandør. Hvis du kan kode i henhold til J2EE-standarderne, kan du implementere din applikation på enhver J2EE-applikationsserver uanset platform. At køre din kode på en hvilken som helst applikationsserver giver dig mange fordele som - transaktionsadministration, messaging, mailing, biblioteksgrænseflade osv. Men da intet bliver let i denne verden, havde det også nogle problemer at arbejde med J2EE.

  • MegetKompleks : Enterprise Java Bean blev udviklet til at reducere kompleksiteten i J2EE-applikationer. Men det lykkedes ikke sit mål med implementeringen. Årsagen bag det er, at det under skrivning af en komponent er nødvendigt at skrive et sæt XML-filer, hjemmegrænseflader, fjern / lokale grænseflader osv.
  • 'Look-up' problem: Hver gang en komponent var afhængig af en anden komponent, måtte den se op til de komponenter, den var afhængig af af sig selv. Denne komponent 'opslag' sker kun ved navn, så navnet på afhængigheden var hårdkodet i komponenten.
  • Tung vægt: Som enll funktioner som klynger, fjernbetjening osv. blev understøttet, du skal konfigurere dem, uanset om du har brug for dem eller ej. Dette vil gøre dine applikationer oppustede.

Sådan opstod Java Frameworks. Java Frameworks er intet andet end store organer med foruddefineret kode, som du kan anvende på din egen kode for at løse dit problem i et bestemt domæne. Du kan bruge en ramme ved at kalde dens metoder, arv, ved at give 'callbacks', lyttere eller andre implementeringer af Observatør mønster.

Lad os forstå det gennem en billedlig gengivelse:

Men hvordan præcist reducerer de vores arbejde og effektiviserer vores koder? For at forstå det, gå gennem følgende fordeleogulemperaf disse rammer. Lad os starte med fordele .

Effektivitet:

Opgaver, der normalt tager timer og hundreder af kodelinjer at komponere, kan nu udføres på få minutter med forudbyggede funktioner. Udvikling bliver meget lettere, så hvis det er meget lettere, er det meget hurtigere og efterfølgende mere effektivt.

Sikkerhed:

En omfattende anvendt ramme vil generelt have storsikkerhedapplikationer. Den store fordel erkvarterbag denne ramme, hvor brugere normalt ender med at være langvarige testere. Hvis du finder en sårbarhed eller et sikkerhedshul, kan du gå til rammens websted og fortælle dem, så det kan løses.

Bekostning:

De mest populære strukturer er gratis, og det hjælper udvikleren med at kode hurtigere. Hvis kodningen udføres hurtigere, vil udgiften til den endelige klient bestemt være mindre i ethvert aspekt, hvad enten det er tid eller kræfter. Desuden er vedligeholdelsesomkostningerne også lave.

Support:

Som ethvert andet distribueret værktøj inkluderer en ramme generelt dokumenter, en supportgruppe eller onlinefora med store samfund, hvor du kan få hurtige svar.

På trods af at alle disse fordele har Java Frameworks nogle ulemper , synes godt om:


Begrænsninger:

Rammens fundamentale adfærd kan ikke ændres, hvilket indikerer, at når du bruger en ramme, skal du respektere dens begrænsninger og arbejde, som det kræves. Således skal du sikre dig, at du vælger en ramme, der passer til dine behov.

Koden er offentlig:

Da rammen er let tilgængelig for alle, it tilbydes også folk med dårlige intentioner. Det kan studeres for at vide, hvordan ting fungerer, og for at opdage fejl, der kan bruges mod dig.

Brugerdefinerede Funktioner:

Når du bruger en ramme, ved du meget lidt om sproget bag den, fordi funktionerne i den er specialbygget.Når du bruger specialbyggede funktioner, er det meget sandsynligt, at du skal bruge dem i henhold til rammens standarder, der kan afvige fra det oprindelige koncept.

Nuatdu kender fordele og ulemperaf rammerne,vælg din ramme efter dit behov. Der findes forskellige slags rammer på markedet. Nedenstående diagram viser et par af dem:

Så i denne blog vil vi fokusere på Spring Framework.

Hvad er Spring Framework?

Her opstår spørgsmålet 'Hvad er foråret'?

Spring Framework er en stærk letvægts applikationsudviklingsramme, der bruges til Enterprise Java (JEE).

Kernefunktionerne i Spring Framework kan bruges til at udvikle enhver Java-applikation.Det kan beskrives somkomplet og modulær ramme. Spring Framework kan bruges til alle lagimplementeringer i en realtidsapplikation. Det kan også bruges til udvikling af et bestemt lag i en realtidsapplikation i modsætning til Struts og Hibernate, men med Spring kan vi udvikle alle lag.

Dette handlede om, hvad der er Spring Framework, men hvordan det blev udviklet? Der er en interessant historie bag det. Lad os se på Spring Framework's historie og oprindelse.

I oktober 2002 Rod Johnson , en australsk computerspecialist, skrev en bog med titlen Expert One-on-One J2EE Design and Development. I denne bog foreslog han en enklere løsning baseret på almindelige Java-klasser (POJO) og afhængighedsinjektion. Han skrev over 30.000 linjer med infrastrukturkode, som omfattede et antal genanvendelige Java-grænseflader og klasser til udvikling af applikationen. Omkring februar 2003 begyndte Rod, Juergen og Yann at samarbejde om forårsprojektet. Navnet 'Spring' blev givet, da det betød en ny start efter 'Winter' af traditionel J2EE.

Følgende er tidslinjen vist om større udgivelser i forårets historie:

Det blev navngivet Interface 21, som en reference til det 21. århundrede og frigivet under Apache 2.0-licens.
Dette var den første milepælsudgivelse. Forårsrammer udviklede sig hurtigt siden denne udgivelse. Interface21 understøttede AspectJ parallelt med Spring Framework.
Nye funktioner blev tilføjet - udvidelige XML-konfigurationer, understøttelse af Java 5 og dynamiske sprog, IoC-udvidelsespunkter og AOP-forbedringer.
Nye funktioner blev tilføjet - understøttelse af Java 6 / JEE5, annotationskonfigurationer, komponent automatisk detektion i klassesti og OSGi-kompatible bundter.
Nye funktioner blev tilføjet - support til reorganiseret modulsystem, SpEL, JavaConfig, indlejrede databaser, REST-support og support til Java EE 6.
Spring Data Commons Project blev frigivet. Senere i 2012 forlod Rod Johnson foråret holdet.
Alle forårsprojekter skiftede til Pivotal. Nye funktioner blev tilføjet - fuld understøttelse af Java 8, websockets, højere afhængighed af tredjepartsbiblioteker, groovy DSL til bønnedefinitioner.
Det var kompatibelt med Java 6, 7 og 8 med fokus på centrale forbedringer og moderne webfunktioner.
Det bliver den sidste generationinden for de generelle Spring 4-systemkrav. 4.3.8 er den aktuelle version.

Hvorfor Spring Framework?

Nedenfor er et diagram, der viser sammenligningen mellem foråret og forskellige andre rammer.

Nedenfor er en graf baseret på en undersøgelse,fra maj 2016. Som du kan se på grafen, er Spring Framework meget populært inden for sit domæne og har fortsat fastholdt sin position på tsiden 2014.

Årsager til Spring Frameværkernes popularitet

Der er generelt tre hovedårsager til Spring Framework's popularitet.

  1. Enkelhed
  2. Testbarhed
  3. Løs kobling

Lad os diskutere disse emner i detaljer.

Enkelhed: Spring Framework er enkel, fordi den ikke er invasiv, da den bruger POJO- og POJI-modeller.

  • POJO (almindelige gamle Java-objekter): AJava-klasse, der ikke er forbundet med nogen teknologi eller nogen rammer, kaldes ' POJO ' .
  • POJI (almindelige gamle Java-grænseflader): En Java-grænseflade, der ikke er kombineret med nogen teknologi eller noget frame-arbejde, kaldes ' POJI ' .

Testbarhed : For at skrive Sbambusapplikation, server er ikke obligatorisk. Men for struts og EJB-applikationer har du brug for en server, hvis du vil teste applikationen. Det kan have brug for mange ændringer i kilden og for at se disse ændringer hver gang du skal genstarte serveren. Dette bliver kedeligt og tidskrævende. I tilfælde afSpring Framework, den har sin egen container til at køre applikationenkationer.

Løs kobling: Spring Framework er løst koblet, fordi det har begreber som Dependency Injection, AOP osv. Disse funktioner hjælper med at reducere afhængighed og øge modulariteten inden for koden. Lad os forstå dette med et eksempel.

Her har jeg en cykelgrænseflade, der har en start () metode. Det implementeres yderligere af tre klasser, nemlig: Yamaha, Honda og Bajaj.

hvordan man bruger bitvise operatorer i java
offentlig grænseflade Cykel {offentlig ugyldig start ()}

Her opretter en klasse Rider et objekt af enhver klasse, der implementerer Bike-interface.

klasse Rider {Bike b public void setBike (Bike b) {this.b = b} ugyldig ride () {b.start ()}}

Nu kan Spring Framework-containeren injicere et objekt af enhver klasse, der implementerer Bike-interface, i henhold til kravet. Sådan fungerer løs kobling.

Spring Framework Architecture

Som du kan se fra ovenstående diagram, har Spring en lagdelt arkitektur bestående af forskellige moduler, der har deres egen funktionalitet. Disse moduler generaliseres i følgende lag:

  • Kernebeholder
  • Dataadgang / integration
  • Web
  • AOP (Aspect Oriented Programming)
  • Instrumentering
  • Prøve.

Du undrer dig måske over, hvad er Spring Framework's fordel ved at have lagdelt arkitektur? Lad os finde ud af det gennem følgende punkter:

  • Spring Framework organiserer effektivt dine midterste objekter.
  • Uanset runtime-miljøet kan Spring Framework's konfigurationsstyringstjenester bruges i ethvert arkitektonisk lag.
  • Spring Framework håndterer konfigurationen på en ensartet måde i hele applikationen. Dette eliminerer behovet for at bruge en række filformater med brugerdefineret ejendom.
  • Spring Framework er designet på en sådan måde, at applikationer, der er bygget med det, afhænger af så få af dets API'er som muligt.
  • På grund af brugen af ​​grænseflader,Spring Framework letter god programmeringspraksis.

For at forstå, hvad der er Spring Framework, skal vi se en simpel Spring Framework-applikation. Følg de fem enkle trin:

Trin I: Oprettelse af Bean-klassen

pakke org.edureka.firstSpring offentlig klasse StudentBean {String name public String getName () {return name} public void setName (String name) {this.name = name} public void displayInfo () {System.out.println ('Hello: '+ navn)}}

Trin II: Opret en XML-fil

 

Trin III: Opret hovedklassen

pakke org.edureka.firstSpring import org.springframework.context.ApplicationContext import org.springframework.context.support.ClassPathXmlApplicationContext public class StudentDemo {public static void main (String [] args) {ApplicationContext appCon = new ClassPathXmlApplicationContext ) StudentBean-fabrik = (StudentBean) appCon.getBean ('studentbean') factory.displayInfo ()}}

Trin IV: Indlæs jar-filerne

Indlæs følgende jar-filer.

  • commons-logging-1.2.jar
  • javax.servlet-api-3.1.0.jar
  • jstl-1.2.jar
  • spring-aop-4.2.2.RELEASE.jar
  • spring-beans-4.2.2.RELEASE.jar
  • spring-context-4.2.2.RELEASE.jar
  • spring-core-4.2.2.RELEASE.jar
  • spring-expression-4.2.2.RELEASE.jar
  • spring-web-4.2.2.RELEASE.jar
  • spring-webmvc-4.2.2.RELEASE.jar

BEMÆRK: Hvis du har brug for jar-filerne, skal du kommentere nedenfor.

Trin V: Kør programmet

Kør programmet på din server for at teste applikationen.

Håber jeg var i stand til at forklare klart, hvad der er Spring Framework, hvordan fungerer det nøjagtigt, og hvad bruges det til. Du henviser også til videoen om 'What Is Spring Framework', hvor instruktøren beskriver de emner, der er diskuteret i denne blog sammen med praktisk demonstration.

Hvad er foråret ramme i Java Spring Framework Tutorial | Edureka

Hvis du er interesseret i at lære mere om Spring Framework, så hold dig opdateret med denne blogserie, for jeg kommer med en anden blog på som vil tale om mere avancerede koncepter i foråret.

Hvis du vil lære Spring og ønsker at bruge det, mens du udvikler Java-applikationer, skal du tjekke af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden.

Har du et spørgsmål til os? Nævn det i kommentarfeltet, og vi vender tilbage til dig.