Trace Id is missing
Přeskočit na hlavní obsah
Lidé pracující v kanceláři na obrazovce přenosného počítače

Co je Java Spring Boot?

Úvod k modulu Spring Boot – oblíbenému nástroji založenému na Javě pro vývoj webových aplikací a mikroslužeb.

Osoba, která sleduje obrazovku přenosného počítače a používá externí klávesnici s myší

Co je Spring Boot?

Java Spring Boot je opensourcový nástroj, který usnadňuje vytváření mikroslužeb a webových aplikací pomocí frameworků založených na jazyce Java. Jakákoli definice modulu Spring Boot musí začít u jazyka Java – jednoho z nejoblíbenějších a nejrozšířenějších vývojářských jazyků a platforem pro vývoj aplikací. Vývojáři z celého světa začínají kariéru programátorů tím, že se učí jazyk Java. Java je flexibilní a uživatelsky přívětivá a vývojáři si ji oblíbili pro celou řadu aplikací – od aplikací pro sociální média, webových a herních aplikací až po síťové a podnikové aplikace.

Java a framework Spring

Ačkoli se Java používá snadno a je snazší se ji naučit než jiné jazyky, úroveň složitosti vytváření, ladění a nasazování aplikací v Javě se vyšplhala do závratných výšin. Příčinou je velký počet proměnných, který exponenciálně roste a se kterým se moderní vývojáři musí vypořádat při vývoji webových nebo mobilních aplikací pro běžné moderní technologie, jako je streamování hudby nebo aplikace na mobilní platby. Vývojář, který píše základní obchodní aplikaci, musí pracovat s mnoha knihovnami, moduly plug-in, dále s knihovnami na protokolování chyb a zpracování, integracemi do webových služeb a s různými jazyky, jako je C#, Java, HTML apod. Proto je pochopitelné, že roste poptávka po nástrojích, které by vývoj aplikací v Javě zjednodušily a ušetřily vývojářům čas a peníze.

Seznamte se s aplikačními frameworky – velkými částmi předem napsaného kódu, které můžou vývojáři podle potřeby používat a přidávat do vlastního kódu. Tyto frameworky ulehčují práci vývojářů prakticky ve všem – ať se jedná o vývoj mobilních a webových aplikací, nebo práci s desktopy a rozhraními API. Díky aplikačním frameworkům je vytváření aplikací rychlejší, jednodušší a bezpečnější. Nabízí opakovaně využitelný kód a nástroje, které pomáhají spojovat všechny prvky projektu při vývoji softwaru.

A tady přichází na řadu Spring: Spring je opensourcový projekt, který nabízí jednodušší, modulární přístup k vytváření aplikací v jazyce Java. Řada projektů Spring začala v roce 2003 jako reakce na složitý počáteční vývoj v jazyce Java a nabízí podporu při vývoji aplikací Java. Samotný název Spring obvykle označuje buď samotný aplikační framework, nebo celou skupinu projektů neboli modulů. Java Spring Boot je jeden konkrétní modul, který je vytvořený jako rozšíření frameworku Spring.

Když jsme si řekli, jak framework Spring, Spring Boot a jazyk Java fungují dohromady, definujeme si Spring Boot – nástroj, který zjednodušuje a urychluje vývoj webových aplikací a mikroslužeb na frameworku jazyka Java, což je Spring.

Vzhledem k tomu, že jazyk nebo platforma je Java, někdy se označuje jako "Java Spring Boot," "framework Java Spring" nebo "framework Spring Boot." Existují ale i jiné frameworky třetích stran pro jazyk Java, jako je Play nebo Hibernate, a proto je přesnější používat označení "Spring" a "Spring Boot."

Pokud potřebujete základní informace o jazyce Java, přečtěte si článek Co je Java?

Jaký je rozdíl mezi řešeními Spring a Spring Boot?

Jak už bylo zmíněno, Spring je opensourcový aplikační framework založený na jazyce Java, který zahrnuje mnoho menších projektů. Mezi další oblíbené projekty Spring patří například Spring Data, Spring Cloud a Spring Security. K pochopení rozdílu mezi modulem Spring Boot a frameworkem Spring je důležité si uvědomit, že i když existuje mnoho rozdílů v základních funkcích, jedná se vždy o řadu Spring.

K úplnému pochopení rozdílů mezi řešeními Spring a Spring Boot je potřeba si nejprve definovat několik klíčových výrazů.

Osoba, která se dívá do přenosného počítače.
Žena, která se dívá na tablet.

Co jsou to mikroslužby?

Mikroslužby jsou přístupem k architektuře vývoje softwaru. Předpona „mikro“ znamená, že kód se poskytuje v malých, zvládnutelných částech označovaných jako komponenty. Každá „služba“ neboli základní funkce se vytváří a nasazuje nezávisle na ostatních službách. Tyto nezávislé komponenty vzájemně spolupracují a komunikují prostřednictvím předepsaných dokumentů rozhraní API, které se nazývají kontrakty. Malý rozsah a relativní oddělenost těchto mikroslužeb přináší řadu výhod. Například díky tomu, že je tento typ architektury distribuovaný a volně provázaný, nedojde k selhání celé aplikace, pokud selže jedna komponenta. K dalším výhodám patří větší produktivita, snadnější údržba, lepší obchodní rovnováha a větší odolnost proti chybám.

Co je injektáž závislostí

Injektáž závislostí (DI) je technika návrhu, která se používá k inverzi řízení (IoC). V objektově orientovaném programování, jako je programování v Javě, se objekty, které závisejí na jiných objektech, označují jako závislosti. Přijímající nebo závislý objekt se obvykle označuje jako klient a druhý objekt, na kterém klient závisí, se nazývá služba. Při injektáži závislostí dochází k předání služby klientovi – probíhá „injektáž“ závislosti pomocí kódu nazývaného injektor. Při injektáži závislostí klient nemusí zadávat, jakou službu použít, protože to za něj udělá injektor.

Osoba, která se dívá do přenosného počítače a na monitor
Žena s náhlavní soupravou pro virtuální realitu

Co znamená, že konvence mají přednost před konfigurací?

Principu přednosti konvencí před konfigurací se také někdy říká programování podle konvencí. Používá se v aplikačních frameworcích ke snížení počtu rozhodnutí učiněných vývojářem. Vychází z principu „neopakovat sebe sama“, abyste se vyhnuli psaní redundantního kódu. Při psaní kódu podle konvencí je důležité zachovat flexibilitu a současně vývojáři umožnit, aby psal kód jen pro neobvyklé části vytvářené aplikace. Pokud požadované chování aplikace odpovídá zavedeným konvencím, poběží aplikace automaticky i bez psaní konfiguračních souborů. Vývojář bude muset výslovně napsat konfigurační soubory, jen když se požadované chování odchyluje od „konvence“.

Framework Spring vs. Spring Boot

Spring Boot vychází z výhod frameworku Spring. Ve skutečnosti nestojí otázka Spring vs. Spring Boot „buď/anebo“, ale spíše jde o spojení výhod obou řešení. Není to Spring vs. Spring Boot. Spring a Spring Boot jdou ruku v ruce:
plán podpory pro celou organizaci
Spring Spring Boot
Co je to?

Opensourcový framework webových aplikací založený na Javě

Rozšíření nebo modul založený na frameworku Spring

Co dělá?

Nabízí flexibilní, plně konfigurovatelné prostředí, které využívá nástroje a knihovny předem připraveného kódu, aby bylo možné vytvářet vlastní, volně propojené webové aplikace.

Umožňuje vytvářet samostatné aplikace Spring, které můžete spouštět hned bez nutnosti psaní poznámek, konfigurace XML a psaní spousty dalšího kódu.

Kde se má použít?

Spring použijte, když chcete:

  • Flexibilita
  • Nekonkretizovaný přístup*
  • Odebrat z vlastního kódu závislosti
  • Implementovat zcela jedinečnou konfiguraci
  • Vyvíjet podnikové aplikace

Spring Boot použijte, když chcete:

  • Snadné použití
  • Konkretizovaný přístup*
  • Rychle získat a zprovoznit kvalitní aplikace a zkrátit dobu potřebnou k vývoji
  • Vyhnout se psaní často používaného kódu nebo konfiguraci XML
  • Vyvíjet rozhraní REST API
Jaká je klíčová funkce?

Injektáž závislostí

Automatická konfigurace

Obsahuje vložené servery?

Ne. Ve frameworku Spring je potřeba servery explicitně nastavit.

Ano, Spring Boot je dodáván s integrovaným servery HTTP, jako je Tomcat a Jetty.

Jak probíhá konfigurace?

Framework Spring nabízí flexibilitu, ale konfigurovat ho musíte ručně.

Spring Boot konfiguruje Spring a další frameworky třetích stran automaticky podle výchozího principu, který se dá charakterizovat jako „přednost konvencí před konfigurací“.

Potřebuji umět pracovat s XML?

Ve frameworku Spring je potřeba umět konfigurovat XML.

Spring Boot nevyžaduje konfiguraci XML.

Existují nástroje CLI pro vývoj/testování aplikací?

Framework Spring sám o sobě nenabízí nástroje CLI pro vývoj a testování aplikací.

Spring Boot je modul ve frameworku Spring, který obsahuje nástroj CLI pro vývoj a testování aplikací založených na frameworku Spring.

Vychází z konkretizovaného nebo nekonkretizovaného přístupu?

Nekonkretizovaný*

Konkretizovaný*

**Konkretizovaný vs. nekonkretizovaný přístup k frameworku

I když se může zdát, že výraz „konkretizovaný“ zní zvláštně, mají obě možnosti, tzn. konkretizovaný přístup modulu Spring Boot i nekonkretizovaný přístup frameworku Spring, své výhody.

Konkretizovaný přístup

Konkretizovaný přístup vychází z názoru, že existuje jeden způsob, který je výrazně jednodušší než všechny ostatní. Z principu návrhu pak software omezuje návrháře a nabízí jim předepsaný způsob, jak by měli věci dělat.

Nabízí schůdnou cestu a osvědčený postup, který funguje většině lidí ve většině situací. Aplikace je napsaná tak, aby se co nejvíce držela těchto osvědčených postupů a uznávaných konvencí. Konkretizovaný přístup výrazně usnadňuje spolupráci a pomáhá při psaní kódu projektu. Ostatní vývojáři, kteří mají s tímto frameworkem zkušenosti, se s novou aplikací rychle seznámí a můžou hned začít pracovat.

Nekonkretizovaný přístup

Nekonkretizovaný přístup se použije, pokud všechna řešení vyžadují zhruba stejné úsilí nebo jsou stejně složitá. Vychází z předpokladu, že neexistuje jediný správný způsob řešení daného problému. Místo toho nabízí flexibilní nástroje, které je možné použít k řešení problémů mnoha různými způsoby. Nekonkretizované frameworky mají výhodu, že nabízí větší flexibilitu při vývoji a dávají vývojářům větší kontrolu. Naopak hlavní nevýhodou této flexibility je, že vývojář se musí více rozhodovat a nakonec možná bude muset napsat více kódu, protože framework je hodně otevřený a obecný.

Funkce a výhody modulu Spring Boot

To nejlepší nakonec: Jsou to funkce modulu Java Spring Boot, které nabízí nad rámec frameworku Spring. Spring Boot nabízí snadnější a rychlejší nastavení, konfiguraci a spouštění aplikací. Eliminuje potíže spojené s konfigurací, která je potřeba k nastavení většiny aplikací založených na frameworku Spring. Vývojáři mohou rovnou začít používat Spring Boot, aniž by se museli učit původní framework Spring.

Osoba sedící na židli a sledující něco na obrazovce počítače

Tady je postup, jak funkce modulu Spring Boot zjednodušují úkoly při programování v jazyce Java. Některé klíčové funkce modulu Spring Boot:

Výhody modulu Spring Boot

Spring Boot:

Java Spring Boot – kurzy

Pokud máte zkušenosti s vytvářením aplikací ve frameworku Spring, pravděpodobně se snadno naučíte i Spring Boot podle kurzů, zahájení projektů a dokumentace, které jsou v tomto oddílu. Pro ty z vás, kteří na použití modulu Spring Boot spěchají, ale framework zatím neznají, je tu jedna dobrá zpráva: Modul Spring Boot se můžete naučit a začít s ním pracovat před tím, než se naučíte Spring, protože řadu základních principů frameworku se naučíte za pochodu. I když se nenaučíte všechno, co o tomto frameworku potřebujete vědět, získáte dostatečný základ, pokud se rozhodnete naučit se ho později.

Další výhodou, když se naučíte Spring Boot, je, že kromě mnohem rychlejšího a efektivnějšího vývoje aplikací, budete moci používat funkce platformy Spring, jako je Spring Data, Project Reactor a Spring Security.

Osoba mluvící přes přenosný počítač pomocí sluchátek
To znamená, že první kurz věnovaný modulu Spring Boot pro vás bude jednodušší, pokud se nejprve naučíte, jak ve frameworku Spring fungují základní principy injektáže závislostí a inverze řízení. Tady je velmi stručný přehled:

Injektáž závislostí

  • Je založená na XML, tzn. <beans/> a <namespace:*/>.
  • Je založená na automatizaci, například @Component, @Autowired, @Inject.
  • Založená na jazyce Java, například třídy @Configuration, metody @Bean.

Inverze řízení (IoC)

  • ApplicationContext – kořenové rozhraní, které slouží jako kontejner IoC pro Spring
  • BeanFactory – rozhraní pro přístup ke kontejneru Spring
  • Objekty bean – objekty vytvořené, sestavené a spravované pomocí ApplicationContext

Java Spring Boot – kurzy pro začátečníky

Jakmile ovládnete základy a chcete vytvářet a nasazovat aplikace Spring Boot ve velkém měřítku, zvažte možnost vyzkoušet plně spravovanou službu Azure Spring Cloud od Microsoftu a VMware. Nebo můžete hned začít s tímto kurzem o tom, jak zabezpečit aplikace Spring Boot pomocí certifikátů TLS/SSL.

Vytvoření aplikace Java a pomoc s jejím zabezpečením

K vytvoření aplikace Java nástrojem Spring Initializr použijte Spring Boot Starter pro Microsoft Entra ID (dříve Azure Active Directory).

Nasazení první aplikace do služby Azure Spring Cloud

Naučte se vytvářet, zřizovat a monitorovat jednoduchou aplikaci Spring Boot vytvořenou nástrojem Spring Initializr.

Vytvoření jednoduché mikroslužby Spring Boot

Vytvořte a nasaďte jednoduchou mikroslužbu a pak se do ní naučte přidávat technologie Spring Cloud.

Další úvodní sady Spring Boot

Přidejte do aplikací Spring Boot funkce úložiště, zabezpečení, ověřování a trezoru klíčů.

Nejčastější dotazy

  • Spring Boot je opensourcový webový framework jazyka Java, který je založený na mikroslužbách a nabízí ho společnost Spring. Ocení ho hlavně softwaroví inženýři, kteří vyvíjejí webové aplikace a mikroslužby.

  • "Spring Boot v jazyce Java" je jen jiný výraz pro "Java Spring Boot". Oba výrazy jsou zaměnitelné. Java je jazyk a platforma. Spring je aplikační framework založený na jazyce Java a Spring Boot je rozšíření frameworku Spring s některými dalšími výhodami.

  • Spring Boot má funkce obecného frameworku Spring, ale nevyžaduje, abyste uměli Spring. Vývojář může aplikaci rychle zprovoznit v kratší době, protože atributy Spring Boot jsou automaticky nakonfigurované. Konkretizovaný přístup odebírá většinu často používaného kódu a konfigurace potřebné k vývoji a nasazení aplikace Spring.

  • Ano, jak bylo uvedeno výše, Spring Boot je obzvláště užitečný pro mikroservisní přístup k architektuře vývoje softwaru. Mikroslužby jsou oblíbeným způsobem, jak vytvořit malé, autonomní týmy, které mohou pracovat nezávisle a ze své podstaty mikroslužby fungují pouze v back-endu.

  • Kratší doba vývoje, větší produktivita a snadnější použití – to jsou jen některé výhody vývoje aplikací v modulu Spring Boot.

  • Řada kurzů, rychlé starty a dokumentace je na webu Spring a dále v úvodních sadách Spring Boot a příslušné dokumentaci k Microsoft Azure. Pokud chcete rovnou začít nasazovat aplikace Spring Boot, podívejte se na webinář o rychlém nasazování aplikací Spring Boot do cloudu ve velkém měřítku.

Jsme na vás připraveni – společně vytvoříme váš bezplatný účet Azure