Spring Framework je výkonný open-source rámec pro vývoj aplikací Java, který usnadňuje vytváření robustních a vysoce výkonných aplikací.
Open-source označuje něco, co lidé mohou volně přistupovat, upravovat a sdílet, protože zdrojový kód je volně dostupný.
Aplikační framework s otevřeným zdrojovým kódem je šablona pro vývoj softwaru vytvořená skupinou softwarových vývojářů. Existují různé typy šablon používaných pro různé účely, jako je vytváření uživatelských rozhraní, webových stránek a základních softwarových aplikací.
Pokud s vývojem aplikací začínáte, může být pro vás začátek s Spring Framework skvělým začátkem. V tomto článku se dozvíte, co to je a jak jej používat.
Table of Contents
Co je Spring Framework?
Spring Framework je open-source framework, který vývojáři používají k vytváření podnikových Java aplikací. Tento framework byl vytvořen Rodem Johnsonem a vydán v roce 2003 pod licencí Apache 2.0.
Někteří programátoři obvykle omílají Javu a tvrdí, že je těžkopádné vytvářet základní aplikace. Spring Framework si klade za cíl zjednodušit těžkopádný a složitý proces vývoje podnikových Java aplikací.
Jaro je široké. Proto je vhodné, abyste nejprve pochopili, co je to Spring framework, než začnete používat další projekty založené na Springu, jako je Spring Boot, Spring GraphQL a Spring Cloud.
Proč používat Spring Framework?
- Flexibilní. Tento rámec nabízí technologie, jako je programování orientované na aspekty (AOP), Dependency injection (DI) a Plain Old Java Object (POJO). Jaro tak můžete využít k dosažení různých cílů.
- Jaro je rychlé. Navzdory tomu, že má všechny tyto technologie, je Spring Framework stále lehký, takže je ideální pro vytváření škálovatelných a robustních podnikových webových aplikací.
- Úžasná komunita. Jaro má rozmanitou komunitu a můžete mu důvěřovat, že vám pomůže s různými řešeními ve vaší hodině potřeby.
- Zajistit. Spring je známý svými bezpečnostními opatřeními a zranitelnosti jsou vždy opraveny pomocí častých oprav. Závislosti třetích stran jsou vždy monitorovány, aby bylo zajištěno, že jejich zranitelnosti nezasahují do hlavního procesu.
- Výrobní. Spring Framework zefektivňuje zkušenosti s vývojem podnikových aplikací Java.
Vlastnosti pružin
Podporuje aspektově orientované programování
Aspektově orientované programování poskytuje více modularity pro průřezové záležitosti. AOP také doplňuje objektově orientované programování.
Hlavní jednotkou modularity v AOP je průřezový problém (Aspect). Vývojáři tak mohou vytvářet deklarativní podnikové služby a vlastní aspekty.
Inversion of Control (IoC) Container
IoC kontejner nabízí efektivní způsob správy a konfigurace Java objektů. Životní cyklus definovaného Java objektu je řízen tímto kontejnerem, což výrazně zvyšuje rekonfigurovatelnost aplikací na bázi Spring.
Inverze řízení využívá vyhledávání závislostí nebo vzory vkládání závislostí, aby nabídla runtime referenčního objektu. IoC kontejner je dodáván s kódem assembleru potřebným pro správu konfigurace.
Rámec pro přístup k datům
Proces datové komunikace je zjednodušen, protože Spring má přímou podporu pro Hibernate, JDBC a Java Persistence API (JPA), některé z nejpopulárnějších rámců pro přístup k datům v Javě. Můžete se také spolehnout na tento rámec a nabízet funkce, jako je zalamování prostředků, zpracování výjimek a správa prostředků pro všechny podporované rámce pro přístup k datům.
Spring MVC Framework
Vývojáři mohou použít tento rámec založený na požadavcích k vytvoření přizpůsobených implementací MVC, které vyhovují jejich potřebám.
Jádrem Spring MVC je třída DispatcherServlet, jejímž úkolem je zpracovávat požadavky uživatelů a poté je předávat správnému řadiči. Controller tak může zpracovat požadavek, vytvořit model a nabídnout informace koncovému uživateli prostřednictvím zadaného pohledu.
Má několik testovacích rámců
Své aplikace založené na Springu můžete testovat při jejich vývoji prostřednictvím objektů Mock, frameworku TestContext nebo Spring MVC Test.
Jazyková podpora
Spring framework podporuje Groovy a Kotlin.
Jarní architektura
Spring Framework se dodává s asi 20 moduly. Dobrá věc s tímto rámcem je, že vám umožňuje vybrat moduly, které jsou použitelné pro váš případ použití. Tyto moduly jsou seskupeny do Core Container, AOP (Aspect Oriented Programming), Data Access/Integration, Web, Instrumentation a Test.
Obrazový kredit: Spring.io
#1. Core Container
Základní kontejner Spring Framework obsahuje modely Core, Beans, Context a Expression Language. Tyto jazykové modely jsou užitečné následujícími způsoby;
- Základní modul je základní součástí rámce. V jádru najdete funkce IoC a Dependency Injection.
- Modul Bean je známý pro BeanFactory, sofistikovanou implementaci továrního vzoru.
- Modul Context je postaven na modulech Core a Bean. Tento modul zdědí své funkce z modulu Bean, ale přidává podporu pro internacionalizaci.
- Modul Expression Language nabízí výkonný výrazový jazyk pro manipulaci a dotazování na objektový graf za běhu.
#2. Přístup k datům/integrace
Moduly JDBC, ORM, OXM, JMS a Transaction tvoří vrstvu pro přístup k datům/integraci. Tyto moduly provádějí následující;
- Modul JDBC má abstrakční vrstvu JBDC, která eliminuje potřebu zdlouhavého kódování JDBC a také analýzu chybových kódů specifických pro dodavatele databáze.
- ORM je integrační vrstva pro některé oblíbené objektově-relační mapovací API, jako jsou JPA, JDO, Hibernate a iBatis. ‚
- Modul OXM je abstraktní vrstva podporující implementace mapování objektů/XML pro XStream, JAXB, JiBX, Castor a XMLBeans.
- Modul Transaction podporuje deklarativní a programovou správu transakcí pro třídy implementující speciální rozhraní.
- Modul Java Messaging Service (JMS) má funkce, které vytvářejí a využívají zprávy.
#3. AOP (Aspect Oriented Programming) a instrumentace
Tento modul je dodáván s implementací aspektově orientovaného programování v souladu s AOP Alliance, která usnadňuje definování věcí, jako jsou zachycovače metod. Na druhou stranu modul Instrumentation nabízí podporu classloaderu a class instrumentation pro použití na určitých aplikačních serverech.
#4. Web
Webovou vrstvu tvoří moduly Web, Web-Servlet, Web-Struts a Web-Portlet.
- Webový modul je zodpovědný za základní webově orientované integrační funkce, jako je funkce vícedílného nahrávání souborů.
- Modul Web-Servlet obsahuje implementaci Spring MVC pro webové aplikace.
- Modul Web-Portlet zrcadlí funkčnost modulu Web-Servlet. Modul Web-Portlet nabízí implementaci MVC pro použití v prostředí portletu.
- Modul Web-Socket podporuje obousměrnou komunikaci mezi serverem a klientem ve webových aplikacích.
#5. Test
Testovací modul je poslední částí architektury Spring. Je to modul, který podporuje testování Spring komponent pomocí TestNG nebo JUnit.
Nainstalujte Spring Framework
Zkontrolujte, zda je nainstalována Java
Než se dozvíme, jak Spring Framework funguje, musíme nainstalovat Spring do našeho PC. Dokumentace Spring obsahuje rozsáhlé zdroje informací o tom, jak začít v závislosti na vašem operačním systému.
V našem případě použijeme Ubuntu 20.04.5, operační systém založený na Linuxu.
Před instalací Spring se ujistěte, že máte nainstalovanou Javu pomocí tohoto příkazu
java -version
Pokud máte nainstalovanou Javu, budete mít výstup podobný tomuto snímku obrazovky.
Pokud ji na svém počítači nemáte, existuje několik způsobů, jak nainstalovat Javu podle vašich potřeb.
Nainstalujte Spring framework
Existuje několik přístupů k instalaci rámce Spring, jak je zdůrazněno v dokumentech Spring.
V našem případě použijeme GVM (Groovy Environment Manager). GVM můžete získat pomocí GVMtool nebo jej nainstalovat na příkazovém řádku.
Jakmile máte GVM, pomocí následujících příkazů nainstalujte a zkontrolujte, zda je nainstalován framework Spring
gvm install springboot
spring --version
Pokud je nainstalován Spring, pravděpodobně získáte výstup, který vypadá takto
Důležité pojmy spojené s rámcem Spring
Injekce závislosti
Dependency Injection je funkce, která umožňuje vývojářům vytvářet nezávislé objekty mimo třídu. DI také umožňuje uživatelům poskytovat tyto objekty třídě různými způsoby.
Inverze řízení (IoC)
IoC je koncept, který přenáší kontrolu nad částmi programu nebo objektů do rámce nebo kontejneru. V tradičním programování náš vlastní kód volá do knihovny. Na druhou stranu IoC umožňuje frameworku (v tomto případě Spring) volat do našeho vlastního kódu a řídit tok programu.
Aspektově orientované programování (AOP)
AOP je technika pro vytváření společných a opakovaně použitelných rutin, které lze použít v celé aplikaci. Takový přístup odděluje opakovatelné úlohy (jako je ověřování vstupu, protokolování a zpracování chyb) od hlavní aplikační logiky.
Spring Framework Learning Resources
#1. Reaktivní programování s Spring Framework 5
Tento jarní kurz se skládá z videí, článků a zdrojů ke stažení. Kurz učí funkcionální programování s Javou, jak mikroslužby s Spring WebFlux a jak využít reaktivní typy v Spring Data MongoDB.
#2. Jarní rámcová mistrovská třída
Spring Framework Master Class je placený kurz, který učí skutečný způsob, jakým Java projekty používají Spring Framework. Naučíte se používat různé nástroje jako Spring Boot, JUnit & Mockito, Spring JDBC, Spring AOP a Hibernate.
#3. Jarní rámec v jednoduchých krocích
Spring Framework In Easy Steps je ideální prémiový kurz, který můžete absolvovat, pokud chcete vytvářet End to End Java EE webové aplikace pomocí Spring Framework. Některé z věcí, které se naučíte, jsou jak vyvíjet webové aplikace pomocí Spring MVC, jak provádět Ajax volání pomocí JQuery a Spring MVC a jak používat Spring JDBC k provádění databázových operací, abychom zmínili alespoň některé.
#4. Jarní rámec 5
Kurz Spring Framework 5 je ideální, pokud se chcete naučit Learn Spring Framework 5, Spring Data MongoDB, Spring Boot 2, Spring MVC, Spring Data JPA a Hibernate. Můžete využít 57 hodin videí na vyžádání, 13 článků a spoustu materiálů ke stažení.
Poznámka autora
Java zůstává jedním z nejpopulárnějších programovacích jazyků v moderním světě. I když se zavádějí nové jazyky, frameworky jako Spring přinášejí Javě nový život a rozšiřují její užitečnost. Je tedy pravděpodobné, že i nadále budeme mít poptávku po inženýrech Java, protože jsou potřební pro údržbu staršího kódu a také pro vytváření nových aplikací.
Závěr
Spring zaujímá přední místo mezi frameworky Java EE a doufáme, že nyní chápete, co je Spring Framework, jeho funkce, architektura a pracovní proces. V kombinaci s dalšími projekty Spring nabízí Spring Framework vývojářům různé vývojové nástroje, které lze použít v různých vývojových prostředích.