Wat is Spring Framework? - Pad naar efficiënte ontwikkeling



Deze blog over What Is Spring Framework gaat over het veel gebruikte Java Framework - Spring. Het vertelt ook waarom en hoe Spring Framework te gebruiken met voorbeelden.

In de snelle wereld van vandaag hebben we alles nodig om snel te zijn. We willen onszelf niet te lang met één werk bezighouden, laat het iets zijn zoals reizen, winkelen, studeren of werken. Als het op codering aankomt, willen we dat onze applicaties in de kortst mogelijke tijd worden ontwikkeld, maar met volledige efficiëntie. We hebben misschien haast, maar toch kunnen we geen compromissen sluiten met onze kwaliteit, noch willen we er teveel moeite in doen. Dus wat is de oplossing? Frameworks werken het beste in deze situatie. Er zijn verschillende Frameworks beschikbaar op de markt, waarvan er maar een paar worden gebruikt, zoals: Spring, Hibernate, Struts etc. Laten we via deze blog eens kijken wat Spring Framework is en waarom het zo populair is in de markt!

Laten we, voordat we beginnen, de onderwerpen bekijken die ik in deze blog zal bespreken:





Java Frameworks

Waarom zouden we voor Frameworks moeten gaan?Laten webegrijp het met onze vriend, Coddy .

Coddy in probleem - Wat is Spring Framework - Edureka!



Coddy krijgt een taak om een ​​applicatie te ontwikkelen, maar de toegewezen tijd is niet voldoende om het af te maken. Hij moet zelf veel regels code (LOC) schrijven. Het is erg tijdrovend en vermoeiend. Hij is in de war wat hij moet doen! Waar hij moet beginnen!

Coddy begint na te denken over een oplossing voor zijn probleem. Hij heeft iets nodig dat snel en efficiënt is en tijd en moeite bespaart, zoals iets kant-en-klaar.



c ++ fibonacci-reeks

Opeens valt het idee op om Frameworks te gebruiken. Frameworks zijn snel, efficiënt en lichtgewicht. Het zijn grote hoeveelheden voorgedefinieerde codes die we eenvoudig aan onze eigen code kunnen toevoegen om een ​​specifiek probleem op te lossen.

Hij codeert met behulp van het Framework. Verrassend genoeg paste de code gemakkelijk in het framework.

Coddy nu, kan sneller coderen en zijn aanvraag binnen het gegeven tijdsbestek voltooien. Bovendien is hij vrij van het schrijven van duizenden regels niet-functionele code.

Na het implementeren van de applicatie die was ontwikkeld met behulp van het Framework, ontdekte hij dat deze met veel hogere snelheid werd uitgevoerd en dat de doorvoer ook toenam in vergelijking met andere applicaties die werden ontwikkeld zonder het Framework te gebruiken.

Dus laten we nu beginnen met de Java Frameworks.

Hoe zijn Java Frameworks ontstaan?

Eind jaren negentig werden de applicaties op grote schaal ontwikkeld met behulp van JEE-standaarden. Het uitgangspunt van J2EE was multi-platform / multi-vendor, als u kunt coderen volgens de J2EE-standaarden, kunt u uw applicatie op elke J2EE-applicatieserver implementeren, ongeacht het platform. Het draaien van uw code op een applicatieserver biedt u vele voordelen, zoals transactiebeheer, berichten, mailing, directory-interface enz. Maar aangezien niets gemakkelijk is in deze wereld, had het werken met J2EE ook enkele problemen.

  • HeelComplex : Enterprise Java Bean is ontwikkeld om de complexiteit van J2EE-applicaties te verminderen. Maar het slaagde er niet in zijn beoogde implementatie. De reden hierachter is dat het tijdens het schrijven van een component vereist is om een ​​set XML-bestanden, home-interfaces, externe / lokale interfaces, enz. Te schrijven.
  • ‘Opzoeken’ probleem: Telkens wanneer een onderdeel afhankelijk was van een ander onderdeel, moest het zelf op zoek gaan naar de onderdelen waarvan het afhankelijk was. Deze component ‘look-up’ gebeurt alleen op naam, dus de naam van de afhankelijkheid was hard gecodeerd in de component.
  • Zwaar gewicht: Als eenAlle functies zoals clustering, remoting, etc. werden ondersteund, je moet ze configureren, ongeacht of je ze nodig hebt of niet. Dit zal uw applicaties opgeblazen maken.

Dit is hoe Java Frameworks is ontstaan. Java Frameworks zijn niets anders dan grote hoeveelheden vooraf gedefinieerde code die u op uw eigen code kunt toepassen om uw probleem in een specifiek domein op te lossen. U kunt een framework gebruiken door de methoden ervan aan te roepen, overerving, door 'callbacks', listeners of andere implementaties van de Waarnemer patroon.

Laten we het begrijpen aan de hand van een picturale weergave:

Maar hoe verminderen ze precies ons werk en maken ze onze codes efficiënt? Om het te begrijpen gaat u door het volgende voordelenennadelenvan deze kaders. Laten we beginnen met de voordelen .

Efficiëntie:

Taken die u doorgaans uren en honderden regels code kosten om samen te stellen, kunnen nu binnen enkele minuten worden uitgevoerd met vooraf gebouwde functies. Ontwikkeling wordt een stuk eenvoudiger, dus als het veel gemakkelijker is, is het veel sneller en vervolgens effectiever.

Veiligheid:

Een veelgebruikt raamwerk zal over het algemeen groot zijnveiligheidtoepassingen. Het grote voordeel is debuurtachter dat raamwerk, waar gebruikers meestal langdurige testers worden. Als u een kwetsbaarheid of een beveiligingslek vindt, kunt u naar de website van het framework gaan en het hen laten weten, zodat het probleem kan worden verholpen.

Kosten:

De meeste populaire structuren zijn gratis en dus helpt het de ontwikkelaar om sneller te coderen. Als de codering sneller wordt gedaan, zullen de kosten voor de eindklant zeker in elk aspect kleiner zijn, of het nu tijd of moeite is. Bovendien zijn de onderhoudskosten ook laag.

Ondersteuning:

Net als elke andere gedistribueerde tool omvat een raamwerk over het algemeen documenten, een steungroep of online forums voor grote gemeenschappen waar u snel kunt reageren.

Ondanks al deze voordelen, heeft Java Frameworks toch enkele nadelen , Leuk vinden:


Beperkingen:

Het fundamentele gedrag van het raamwerk kan niet worden veranderd, wat aangeeft dat wanneer u een raamwerk gebruikt, u de beperkingen ervan moet respecteren en moet werken zoals vereist. U moet er dus voor zorgen dat u een raamwerk kiest dat bij uw behoeften past.

Code is openbaar:

Aangezien het framework voor iedereen direct beschikbaar is, iHet wordt ook aangeboden aan mensen met slechte bedoelingen. Het kan worden bestudeerd om te weten hoe de dingen werken en om gebreken te ontdekken die tegen u kunnen worden gebruikt.

Op maat Kenmerken:

Als je gebruik maakt van een framework, weet je heel weinig over de taal erachter, omdat de features erin op maat gemaakt zijn.Wanneer u op maat gemaakte functies gebruikt, is het zeer waarschijnlijk dat u deze moet gebruiken volgens de normen van het framework, die kunnen verschillen van het oorspronkelijke concept.

Nudatu kent de voor- en nadelenvan de kaders,kies uw kader op basis van uw behoefte. Er zijn verschillende soorten frameworks op de markt. Onderstaand diagram toont er een paar:

Dus in deze blog zullen we ons concentreren op Spring Framework.

Wat is Spring Framework?

Hier rijst de vraag “Wat is Spring Framework”?

Spring Framework is een krachtig lichtgewicht framework voor applicatie-ontwikkeling dat wordt gebruikt voor Enterprise Java (JEE).

De kernfuncties van het Spring Framework kunnen worden gebruikt bij het ontwikkelen van elke Java-applicatie.Het kan worden omschreven alscompleet en modulair raamwerk. Het Spring Framework kan worden gebruikt voor alle laagimplementaties van een real-time applicatie. Het kan ook worden gebruikt voor de ontwikkeling van een bepaalde laag van een real-time applicatie in tegenstelling tot Struts en Hibernate, maar met Spring kunnen we alle lagen ontwikkelen.

Dit ging over wat Spring Framework is, maar hoe is het ontwikkeld? Nou, er zit een interessante geschiedenis achter. Laten we eens kijken naar de geschiedenis en oorsprong van Spring Framework.

In oktober 2002 Rod Johnson , een Australische computerspecialist, schreef een boek met de titel Expert One-on-One J2EE Design and Development. In dit boek stelde hij een eenvoudigere oplossing voor op basis van gewone Java-klassen (POJO) en afhankelijkheidsinjectie. Hij schreef meer dan 30.000 regels infrastructuurcode, waaronder een aantal herbruikbare Java-interfaces en klassen voor het ontwikkelen van de applicatie. Rond februari 2003 begonnen Rod, Juergen en Yann samen te werken aan het Spring-project. De naam 'Lente' werd gegeven omdat het een nieuwe start betekende na 'Winter' van traditionele J2EE.

Hieronder volgt de tijdlijn die wordt weergegeven over belangrijke releases in de geschiedenis van Spring:

Het kreeg de naam Interface 21, als een verwijzing naar de 21e eeuw en werd uitgebracht onder de Apache 2.0-licentie.
Dit was de eerste mijlpaalrelease. Spring-framework is snel geëvolueerd sinds deze release. Interface21 ondersteunde AspectJ parallel met Spring Framework.
Er zijn nieuwe functies toegevoegd: uitbreidbare XML-configuraties, ondersteuning voor Java 5 en dynamische talen, IoC-uitbreidingspunten en AOP-verbeteringen.
Er zijn nieuwe functies toegevoegd - ondersteuning voor Java 6 / JEE5, annotatieconfiguraties, automatische detectie van componenten in klassenpad en OSGi-compatibele bundels.
Er zijn nieuwe functies toegevoegd - ondersteuning voor gereorganiseerd modulesysteem, SpEL, JavaConfig, embedded databases, REST-ondersteuning en ondersteuning voor Java EE 6.
Spring Data Commons Project is uitgebracht. Later in 2012 verliet Rod Johnson het Spring-team.
Alle Spring-projecten zijn verschoven naar Pivotal. Er zijn nieuwe functies toegevoegd - volledige ondersteuning voor Java 8, websockets, hogere bibliotheekafhankelijkheden van derden, groovy DSL voor bean-definities.
Het was compatibel met Java 6, 7 en 8, met een focus op kernverfijningen en moderne webmogelijkheden.
Het wordt de laatste generatiebinnen de algemene systeemvereisten van Spring 4. 4.3.8 is de huidige versie.

Waarom Spring Framework?

Hieronder wordt een grafiek gegeven die de vergelijking toont tussen Spring en verschillende andere Frameworks.

Hieronder is een grafiek gebaseerd op een enquête,met ingang van mei 2016. Zoals u in de grafiek kunt zien, is Spring Framework erg populair in zijn domein en is het zijn positie op top since 2014.

Redenen voor Spring Framede populariteit van werken

Er zijn over het algemeen drie hoofdredenen voor de populariteit van Spring Framework.

  1. Eenvoud
  2. Testablity
  3. Losse koppeling

Laten we deze onderwerpen in detail bespreken.

Eenvoud: Spring Framework is eenvoudig omdat het niet-invasief is omdat het POJO- en POJI-modellen gebruikt.

opzoektransformatie in informatica-voorbeeld
  • POJO (gewone oude Java-objecten): AJava-klasse die niet is gekoppeld aan een technologie of een framework wordt aangeroepen ' POJO ' .
  • POJI (Plain Old Java Interfaces): een Java-interface die niet is gekoppeld aan enige technologie of framewerk wordt genoemd ' POJI ' .

Testablity : Voor het schrijven van de Sbamboeapplicatie, is server niet verplicht. Maar voor stutten en EJB-applicaties heb je een server nodig, als je de applicatie wilt testen. Het kan zijn dat er veel wijzigingen in de broncode nodig zijn en om die wijzigingen te bekijken, moet u de server elke keer opnieuw opstarten. Dit wordt vervelend en tijdrovend. In het geval vanSpring Framework, het heeft zijn eigen container om de applicatie uit te voerenkationen.

Losse koppeling : Spring Framework is losjes gekoppeld omdat het concepten bevat zoals Dependency Injection, AOP enz. Deze functies helpen bij het verminderen van de afhankelijkheid en het vergroten van de modulariteit binnen de code. Laten we dit begrijpen met een voorbeeld.

Hier heb ik een Bike-interface met een start () -methode. Het wordt verder geïmplementeerd door drie klassen, namelijk: Yamaha, Honda en Bajaj.

openbare interface Bike {public void start ()}

Hier creëert een klasse Rider een object van een willekeurige klasse die de Bike-interface implementeert.

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

Nu kan de Spring Framework-container een object van elke klasse injecteren die de Bike-interface implementeert, volgens de vereiste. Dit is hoe losse koppeling werkt.

Spring Framework-architectuur

Zoals je in het bovenstaande diagram kunt zien, heeft Spring een gelaagde architectuur die bestaat uit verschillende modules die hun eigen functionaliteit hebben. Deze modules worden gegeneraliseerd in de volgende lagen:

  • Kerncontainer
  • Gegevenstoegang / -integratie
  • Web
  • AOP (Aspect Oriented Programming)
  • Instrumentatie
  • Test.

U vraagt ​​zich misschien af ​​wat het voordeel van Spring Framework is om gelaagde architectuur te hebben? Laten we eens kijken naar de volgende punten:

  • Spring Framework organiseert effectief uw middle-tier-objecten.
  • Ongeacht de runtime-omgeving kunnen de configuratiemanagementservices van Spring Framework in elke architectuurlaag worden gebruikt.
  • Spring Framework behandelt de configuratie op een consistente manier in de hele applicatie. Dit elimineert de noodzaak om verschillende bestandsindelingen met aangepaste eigenschappen te gebruiken.
  • Spring Framework is zo ontworpen dat applicaties die ermee worden gebouwd, afhankelijk zijn van zo min mogelijk API's.
  • Vanwege het gebruik van interfaces,Spring Framework faciliteert goede programmeerpraktijken.

Om volledig te begrijpen wat Spring Framework is, laten we eens kijken naar een eenvoudige Spring Framework-applicatie. Volg de vijf simpele stappen:

Stap I: de Bean-klasse maken

pakket org.edureka.firstSpring openbare klasse StudentBean {Stringnaam openbare String getName () {retournaam} public void setName (Stringnaam) {this.name = naam} public void displayInfo () {System.out.println ('Hallo: '+ naam)}}

Stap II: Maak een XML-bestand

 

Stap III: Maak de hoofdklasse

pakket org.edureka.firstSpring import org.springframework.context.ApplicationContext import org.springframework.context.support.ClassPathXmlApplicationContext openbare klasse StudentDemo {public static void main (String [] args) {ApplicationContext appCon = new ClassContext appCon = new ClassPathontext.xml ('StudentContext') ) StudentBean factory = (StudentBean) appCon.getBean ('studentbean') factory.displayInfo ()}}

Stap IV: Laad de jar-bestanden

Laad de volgende jar-bestanden.

  • commons-logging-1.2.jar
  • javax.servlet-api-3.1.0.jar
  • jstl-1.2.jar
  • spring-aop-4.2.2.RELEASE.jar
  • lente-bonen-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

OPMERKING: Als je de jar-bestanden nodig hebt, reageer hieronder.

Stap V: voer het programma uit

Start het programma op uw server om de applicatie te testen.

Ik hoop dat ik duidelijk heb kunnen uitleggen, wat is Spring Framework, hoe werkt het precies en waarvoor wordt het gebruikt. Je verwijst ook naar de video over 'What Is Spring Framework', waar de instructeur de onderwerpen beschrijft die in deze blog worden besproken, samen met praktische demonstraties.

Wat is Spring Framework in Java | Spring Framework-zelfstudie | Edureka

Als je meer wilt weten over het Spring Framework, blijf dan op de hoogte van deze blogserie van mij, want ik ga met een andere blog komen op die in het voorjaar over meer geavanceerde concepten zal praten.

Als je Spring wilt leren kennen en het wilt gebruiken tijdens het ontwikkelen van Java-applicaties, bekijk dan het door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte en we nemen contact met u op.