Trace Id is missing
Naar hoofdinhoud gaan
Mensen die op kantoor op hun laptopscherm werken

Wat is Java Spring Boot?

Een inleiding tot Spring Boot: het populaire, op Java gebaseerde hulpprogramma voor het ontwikkelen van web-apps en microservices.

Een persoon die naar het scherm van een laptop kijkt en een extern toetsenbord met muis gebruikt

Wat is Spring Boot?

Java Spring Boot is een opensource-hulpprogramma waarmee je eenvoudiger op Java gebaseerde frameworks kunt gebruiken om microservices en web-apps te maken. Voor elke definitie van Spring Boot moet het gesprek beginnen met Java, een van de populairste en meest gebruikte ontwikkelingstalen en computingplatforms voor de ontwikkeling van apps. Ontwikkelaars over de hele wereld beginnen hun programmeertraject om Java te leren. Java is flexibel, gebruiksvriendelijk en is een favoriet voor ontwikkelaars voor allerlei apps, van sociale media, web- en gaming-apps tot netwerken en bedrijfstoepassingen.

Java en het Spring-framework

Hoewel Java gemakkelijk te gebruiken is en gemakkelijker te leren is dan andere talen, is het complexiteitsniveau voor het bouwen, fouten opsporen en implementeren van Java-apps geëscaleerd tot nieuwe hoogten. Dit wordt veroorzaakt door het exponentieel aantal variabelen waarmee moderne ontwikkelaars te maken krijgen bij het ontwikkelen van web-apps of mobiele apps voor algemene moderne technologieën, zoals muziekstreaming of apps voor mobiel betalen. Een ontwikkelaar die een eenvoudige Line-Of-Business-app schrijft, heeft nu te maken met meerdere bibliotheken, invoegtoepassingen, foutregistratie en verwerking van bibliotheken, integraties met webservices en meerdere talen, zoals C#, Java, HTML en andere. Begrijpelijkerwijs is er een onverwerkbare vraag naar hulpprogramma's die de ontwikkeling van Java-apps stroomlijnen, waardoor de ontwikkelaars tijd en geld besparen.

Voer toepassingsframeworks in voor de grote hoofdteksten, van vooraf geschreven code die ontwikkelaars kunnen gebruiken en toevoegen aan hun eigen code, zoals hun behoeften dat dicteren. Deze frameworks verminderen de belasting van de ontwikkelaar voor vrijwel elke behoefte, ongeacht of ze mobiele en web-apps ontwikkelen of werken met bureaubladen en API's. Frameworks maken het maken van apps sneller, eenvoudiger en veiliger door herbruikbare code en hulpprogramma's te bieden om de verschillende elementen van een softwareontwikkelingsproject aan elkaar te koppelen.

Hier komt Spring aan bod: Spring is een opensource-project dat een gestroomlijnde, modulaire benadering biedt voor het maken van apps met Java. De reeks van Spring -projecten in 2003 gestart als reactie op de complexiteit van vroege Java-ontwikkeling en biedt ondersteuning voor het ontwikkelen van Java-apps. De naam Spring verwijst meestal naar het toepassingsframework zelf of de hele groep projecten of modules. Java Spring Boot is een specifieke module die is gebouwd als uitbreiding van het Spring-framework.

Met die achtergrond over hoe het Spring-framework, Spring Boot en Java samenwerken, is hier de definitie van Spring Boot, het hulpprogramma waarmee de ontwikkeling van web-apps en microservices binnen het Java-framework, Spring, wordt gestroomlijnd en versnelt.

Soms, omdat de taal en/of het platform Java is, wordt het aangeduid als "Java Spring Boot," het "Java Spring-framework," of het "Spring Boot framework." Omdat er echter andere externe frameworks zijn voor Java, zoals Play en Hibernate, is het nauwkeuriger om "Spring" en "Spring Boot te zeggen."

Lees het artikel Wat is Java? voor een algemene bespreking van de basisbeginselen van Java

Wat is het verschil tussen Spring en Spring Boot?

Zoals eerder vermeld, is Spring een opensource-, op Java gebaseerd app-framework dat veel kleinere projecten onder de paraplu beslaat. Andere populaire Spring-projecten bevatten Spring Data, Spring Cloud en Spring Security, om er maar een paar te noemen. Om het verschil tussen Spring Boot en Spring te begrijpen, is het belangrijk om te weten dat, hoewel er mogelijk verschillen zijn in de kernmogelijkheden, alles in de Spring-serie zit.

Om de verschillen tussen Spring en Spring Boot volledig te begrijpen, moeten we eerst enkele belangrijke termen definiëren.

Een persoon die naar een laptop kijkt.
Een vrouw die op een tablet kijkt.

Wat zijn microservices?

Microservices zijn een benadering van softwareontwikkelingsarchitectuur. De "micro-" in microservices verwijst naar code die wordt geleverd in kleine, beheerbare delen of onderdelen, en elke "service" of kernfunctie, wordt onafhankelijk van de andere services gemaakt en geïmplementeerd. De onafhankelijke onderdelen werken samen en communiceren via voorgeschreven API-documenten die contracten worden genoemd. De kleine schaal en relatieve isolatie van deze microservices heeft veel voordelen. Omdat dit type architectuur bijvoorbeeld is gedistribueerd en losjes is gekoppeld, stopt de hele app niet met werken als één onderdeel uitvalt. Andere voordelen zijn verbeterde productiviteit, eenvoudiger onderhoud, betere bedrijfsafstemming en grotere fouttolerantie.

Wat is afhankelijkheidsinjectie?

Afhankelijkheidsinjectie (DI) is een ontwerptechniek die wordt gebruikt om een Inversion of Control (IoC) te bereiken. In objectgeoriënteerd programmeren, zoals Java, worden objecten die afhankelijk zijn van andere objecten afhankelijkheden genoemd. Normaal gesproken wordt het ontvangende of afhankelijke object een client genoemd en wordt het object waar de client afhankelijk van is een service genoemd. Afhankelijkheidsinjectie geeft de service door aan de client, of "injecteren" de afhankelijkheid met behulp van code die een sql-code wordt genoemd. DI elimineert de noodzaak voor de client om op te geven welke service de client moet gebruiken, de injectie doet dat werk voor de client.

Een persoon die naar een laptop en beeldscherm kijkt.
Een vrouw die een VR-headset draagt

Wat is conventie voor configuratie?

Convention over configuration, ook wel codering genoemd, is een concept dat wordt gebruikt in toepassingsframeworks om het aantal beslissingen te verminderen dat een ontwikkelaar moet nemen. Het voldoet aan het principe van "jezelf niet herhalen" om te voorkomen dat overbodige code wordt geschreven. Codering volgens conventie streeft ernaar flexibiliteit te behouden terwijl een ontwikkelaar alleen code kan schrijven voor de onconventionele aspecten van de app die ze maken. Wanneer het gewenste gedrag van de app overeenkomt met de vastgestelde conventies, wordt de app standaard uitgevoerd zonder dat je configuratiebestanden hoeft te schrijven. De ontwikkelaar hoeft alleen expliciet configuratiebestanden te schrijven als het gewenste gedrag afwijkt van de "conventie."

Spring-framework tegenover Spring Boot

Omdat Spring Boot is gebouwd op de voordelen van het Spring-framework, is het niet echt een vraag van "of/of" wat betreft Spring tegenover Spring Boot, maar in plaats daarvan het voordeel van "en/en". Het gaat niet om Spring tegenover Spring Boot. Spring en Spring Boot gaan hand in hand:
ondersteuningsplan voor de hele organisatie
Spring Spring Boot
Wat is het?

Een opensource-framework voor webtoepassingen op basis van Java.

Een uitbreiding of module die is gebouwd op basis van het Spring-framework.

Wat doet het?

Biedt een flexibele, volledig configureerbare omgeving met behulp van hulpprogramma's en bibliotheken met vooraf gebouwde code om aangepaste, losjes gekoppelde web-apps te maken.

Biedt de mogelijkheid om zelfstandige Spring-toepassingen te maken die direct kunnen worden uitgevoerd zonder aantekeningen, XML-configuratie of het schrijven van veel aanvullende code.

Wanneer kan ik dat het beste gebruiken?

Gebruik Spring als je het volgende wilt:

  • Flexibiliteit.
  • Een niet-bevooroordeelde benadering.*
  • Afhankelijkheden verwijderen uit je aangepaste code.
  • Een zeer unieke configuratie implementeren.
  • Bedrijfstoepassingen ontwikkelen,

Gebruik Spring Boot als je het volgende wilt:

  • Gebruiksgemak.
  • Een bevooroordeelde benadering.*
  • Om apps van hoge kwaliteit snel te laten werken en de ontwikkeltijd te verkorten.
  • Om te voorkomen dat standaardcode wordt geschreven of XML wordt geconfigureerd.
  • REST API's ontwikkelen.
Wat is de belangrijkste functie?

Afhankelijkheidsinjectie

Automatische configuratie

Zijn er ingesloten servers?

Nee. In Spring moet je de servers expliciet instellen.

Ja, Spring Boot wordt geleverd met ingebouwde HTTP-servers zoals Tomcat en Jetty.

Hoe wordt het geconfigureerd?

Het Spring-framework biedt flexibiliteit, maar de configuratie ervan moet handmatig worden gebouwd.

Spring Boot configureert Spring en andere externe frameworks automatisch volgens het standaard principe "conventie boven configuratie".

Moet ik weten hoe ik met XML moet werken?

In Spring is kennis van XML-configuratie vereist.

Spring Boot vereist geen XML-configuratie.

Zijn er CLI-hulpprogramma's voor het ontwikkelen/testen van apps?

Alleen het Spring-framework biedt geen CLI-hulpprogramma's voor het ontwikkelen of testen van apps.

Als Spring-module heeft Spring Boot een CLI-hulpprogramma voor het ontwikkelen en testen van Spring-apps.

Werkt het vanuit een bevooroordeelde of niet-bevooroordeelde benadering?

Niet-bevooroordeeld*

Bevooroordeeld*

*Bevooroordeelde versus niet-bevooroordeelde frameworkbenadering

Hoewel het woord "bevooroordeeld" enigszins negatief klinkt, hebben zowel de bevooroordeelde benadering van Spring Boot als de niet-bevooroordeelde Spring-framework hun voordelen.

Bevooroordeelde benadering

Een bevooroordeelde benadering neemt de positie aan dat er een richting is die aanzienlijk eenvoudiger is dan alle andere. De software beperkt ontwerpfuncties en stimuleert ze om dingen op die voorgeschreven manier te doen.

Het biedt een goed pad, een best practice die in de meeste situaties voor de meeste mensen werkt. De app is geschreven volgens deze best practices en wijdverbreide conventies. Met een bevooroordeelde benadering wordt samenwerking en het verkrijgen van hulp bij een codeerproject veel eenvoudiger voor andere ontwikkelaars die ervaring hebben met dat framework. Ze zijn direct vertrouwd met de nieuwe app en kunnen meteen aan de slag.

Niet-bevooroordeelde benadering

Een niet-bevooroordeelde benadering wordt gebruikt als voor alle oplossingen ongeveer dezelfde hoeveelheid inspanning of complexiteit nodig is. Het neemt de positie in dat er niet één juiste manier is om een oplossing voor een probleem te krijgen. In plaats daarvan biedt het flexibele hulpprogramma's die kunnen worden gebruikt om het probleem op verschillende manieren op te lossen. Niet-bevooroordeelde frameworks hebben het voordeel dat ze veel flexibiliteit bieden in de ontwikkeling en dat ontwikkelaars meer controle krijgen. Het belangrijkste nadeel met zoveel flexibiliteit is dat de ontwikkelaar meer beslissingen moet nemen en uiteindelijk meer code moet schrijven omdat het framework zo open en niet-bevooroordeeld is.

Spring Boot-functies en -voordelen

Ten slotte het interessante deel van de kernmogelijkheden die Java Spring Boot biedt buiten het Spring-framework. Spring Boot biedt een eenvoudiger en sneller pad naar het instellen, configureren en uitvoeren van apps. Het elimineert de zware belasting van de configuratie die nodig is voor het instellen van de meeste Spring-apps. Ontwikkelaars kunnen meteen aan de slag en Spring Boot gebruiken zonder dat ze het onderliggende Spring-framework hoeven te leren.

Een persoon die op een stoel zit en kijkt op een bureaubladscherm

Hier lees je hoe Spring Boot-functies helpen bij het stroomlijnen van Java-programmeertaken. Enkele belangrijke functies van Spring Boot zijn:

Voordelen van Spring Boot

Spring Boot:

Java Spring Boot-zelfstudies

Als je al bekend bent met het bouwen van apps met behulp van het Spring-framework, zul je het waarschijnlijk eenvoudig vinden om Spring Boot te leren met behulp van de zelfstudies, projectstarters en documentatie in deze sectie. Maar hier is goed nieuws als je snel Spring Boot wilt gebruiken, maar het framework nog niet kent. Het is mogelijk om Spring Boot te leren en ermee aan de slag te gaan voordat je het Spring-framework leert, omdat je veel van de basisprincipes van het framework gaat gebruiken terwijl je verdergaat. Hoewel je hiermee niet alles leert wat je moet weten over het framework, heb je een voorsprong als je besluit dit later te leren.

Een ander voordeel van het leren Spring Boot, naast het veel sneller en efficiënter maken van app-ontwikkeling, is dat je ook andere Spring-mogelijkheden kunt gebruiken, namelijk Spring Data, Project Reactor en Spring Security.

Een persoon die met een hoofdtelefoon met een laptop praat
Dat gezegd hebbende, zul je het gemakkelijker vinden om je eerste Spring Boot-zelfstudie te doorlopen als je eerst leert hoe de basisconcepten van afhankelijkheidsinjectie en Inversion of Control werken in het Spring-framework. Hier is een zeer gedetailleerd overzicht:

Afhankelijkheidsinjectie

  • Op XML gebaseerd, bijv. <beans/> en <namespace:*/>.
  • Op aantekeningen gebaseerd, bijv. @Component, @Autowired, @Inject.
  • Op Java gebaseerde @Configuration-klassen, @Bean-methoden.

Inversion of control (IoC)

  • ApplicationContext: de hoofdinterface die fungeert als de Spring IoC-container.
  • BeanFactory: de interface voor toegang tot de Spring-container.
  • Hiermee worden de objecten gemaakt, geassembleerd en beheerd door ApplicationContext.

Java Spring Boot-zelfstudies voor beginners

Als je de basisprincipes onder de knie hebt en je Spring Boot-apps op schaal wilt bouwen en implementeren, kan je overwegen om de volledig beheerde Azure Spring Cloud -service van Microsoft en VMware te bekijken. Of ga meteen aan de slag met deze zelfstudie over het beveiligen van je Spring Boot-apps met TLS/SSL-certificaten.

Een Java-app maken en beveiligen

Een Java-app maken met de Spring Initializr met behulp van de Spring Boot-starter voor Microsoft Entra ID (voorheen Azure Active Directory).

Je eerste app implementeren in Azure Spring Cloud

Leer hoe je een eenvoudige Spring Boot-app maakt, inricht en bewaakt die is gebouwd met Spring Initializr.

Een eenvoudige Spring Boot-microservice bouwen

Bouw en implementeer een eenvoudige microservice en leer er vervolgens Spring Cloud-technologieën aan toe te voegen.

Meer Spring Boot-starters

Voeg functies voor opslag, beveiliging, verificatie en sleutelkluis toe aan je Spring Boot-apps.

Veelgestelde vragen

  • Spring Boot is een opensource-, op microservice gebaseerd Java-webframework dat wordt aangeboden door Spring, met name nuttig voor softwaretechnici die web-apps en microservices ontwikkelen.

  • "Spring Boot in Java" is een andere manier om "Java Spring Boot"te zeggen, de twee termen kunnen als synoniem kunnen worden gebruikt. Java is de taal en het platform, Spring is het toepassingsframework op basis van Java en Spring Boot is een uitbreiding van het Spring-framework, met enkele extra voordelen.

  • Spring Boot beschikt over de functionaliteit van het algemene Spring-framework, maar voor Spring Boot hoef je Spring niet te leren. Een ontwikkelaar kan een app sneller starten, omdat Spring Boot-kenmerken automatisch worden geconfigureerd en de meningen veel van de standaardcode en configuratie verwijderen die betrokken zijn bij de ontwikkeling en implementatie van Spring-apps.

  • Ja, zoals hierboven vermeld, is Spring Boot met name nuttig voor een microservicebenadering van softwareontwikkelingsarchitectuur. Microservices zijn een populaire manier om kleine, autonome teams te bouwen die onafhankelijk kunnen werken en van nature alleen in de back-end werken.

  • Kortere ontwikkeltijd, verhoogde productiviteit en gebruiksgemak zijn slechts enkele voordelen van het ontwikkelen van Spring Boot-apps.

  • Er zijn veel zelfstudies, quickstarts en documentatie over de Spring-website evenals Spring Boot-starters en documentatie van Microsoft Azure. Als je meteen aan de slag wilt met het implementeren van Spring Boot-apps, bekijk je de webinar Versnel Spring Boot-toepassingen op grote schaal naar de cloud.

Ben je er klaar voor? Maak een gratis Azure-account aan