Na čo sa teší a čo predstaví Kamil Ševeček na Java Day 2017


Po roce je tu opět jednodenní bratislavská konference Java Day a je nadupaná zajímavými přednáškami. Jsem zvědavý na novinky v Java 9. Taky bych chtěl trochu přijít na kloub Dockeru a jeho integraci s Javou a javovými webovými servery. Zatím je to pro mě velká neznámá.

Já sám vám odhalím několik tajemství o dítku, které se v javové komunitě těší čím dál větší popularitě: Spring Boot. Tento projekt přináší snadnost a standardizaci do procesu založení nového projektu a nastavení počáteční Springové konfigurace. Slýchám však několik častých omylů ohledně Spring Bootu:

    - Spring Boot zjednodušuje konfiguraci Spring Frameworku
    - Spring Boot je víc lightweight než Spring Framework
    - Spring Boot umožňuje dělat REST API jiným způsobem než Spring MVC
    - Spring Boot nepotřebuje webový server (Tomcat, JBoss, GlassFish, WebSphere, WebLogic...)
Ale to by byl velký omyl, mí milí Javisté!

"Neexistuje problém, který by se nedal vyřešit přidáním vrstvy abstrakce ... Až na problém příliš mnoha vrstev abstrakce."
 --- David Wheeler

Spring Boot především nic nezjednodušuje a nepřináší žádné zásadní (jednodušší) programátorské API. Je důležité si uvědomit, že jde pouze o DALŠÍ vrstvu abstrakce NAD Spring Frameworkem, tedy naopak další zesložitění skutečné funkcionality. Hlavní positivum je ale v tom, že vývoji nad Java EE a Spring Frameworkem přináší doporučený ("armádní") sestřih, který začíná už tím, že si vygenerujete šablonu projektu na webu http://start.spring.io/ podle zaškrtávátek, které technologie byste rádi používali. Elegantní, leč programování se tím nestává jednodušší, pouze víc normované. Aby to ale neznělo špatně, za to je potřeba pět ódy a chválit autory. Přesně to tu bylo potřeba a Spring Boot tedy dopadá jako kladivo přesně hřebíček.
Co se týká konfigurace Spring Frameworku, už žádná otravná XML, prostě vložíme anotace @Configuration a @EnableCokoliv nad zaváděcí třídu s metodou main(). Ale to neznamená, že bychom XML nemohli použít nebo že jsme v jednodušší situaci než s použitím klasického Spring Frameworku. Vždyť jde o běžné anotace Spring Frameworku.
Stejná situace platí pro tvorbu REST API. Spring Boot nepřináší žádné nové API pro tvorbu REST web services. Pouze obaluje Spring MVC a tudíž umí právě a pouze jen to, co můžete mít se Spring MVC taky. Nedává tedy smysl rozmýšlet se, zda psát REST API pomocí Spring Bootu nebo pomocí Spring MVC. Jde o ten stejný přístup.
A že Spring Boot nepotřebuje webový server? A jak by tedy fungovalo REST API? Spring Boot pouze obalí Tomcat, nakonfiguruje ho jako springový bean a spustí si jej v embeddované formě. Ale to si můžete udělat sami bez větších problémů taky. Stačí si připojit knihovnu Tomcatu a do vaší metody main() napsat new Tomcat().

Jak to všechno funguje naživo, s pěknými ukázkami kódu (jak je u mě zvykem) a zásobou ajťáckých vtípků, se podíváme na mé přednášce, která je hned první na programu od 9:30. Tak se nespozděte a já se na vás budu těšit v Bratislavě 12. 10. 2017 v hotelu Bratislava!

kamil.jpg odborný lektor, dlhoročný programátor a expert v oblasti Javy a Spring Frameworku