Příklad na Spring Boot, REST architekturu a Spring Cache

publikováno: 15.3.2014

Na posledním školení jsme vytvořili aplikaci, která je ukázkou technologií Spring Boot, Spring Data JPA, REST web. služeb (XML a JSON) a Spring Cache.

Yahoo má REST službu Yahoo Weather, která vrátí XML s předpovědí počasí pro konkrétní místo (WOEID):

Aplikace pomocí RestTemplate stáhne toto XML, provede jeho konverzi na objekt a s tím dále pracuje.

Aby uživatel nemusel vyhledávat předpověď počasí pro toto číslo, ale podle názvu města, tak aplikace obsahuje menší databázi WOEID s americkými státy. S databází se pracuje pomocí Spring Data JPA, vnitřně se používá Hibernate. Databáze je in-memory HSQLDB.

Protože se předpověď počasí nemění ze vteřiny na vteřinu, použil jsem Spring Cache pro cachování výsledků z Yahoo REST web. služby (plus periodické mazání této cache).

A teď to nejdůležitější:

 

Následující:
Java 8
Reference

Školení mi pomohlo ujasnit si jak má správně probíhat testování kódu, představilo užitečné knihovny a nástroje. Vše bylo podáno zábavnou formou, takže nebyl problém udržet pozornost. Navíc byl výhodou dostatek

Certicon
David

Jedno z nejlepších školení za poslední roky. Kromě seznámení se Springem apod. mě velmi příjemně překvapila hluboká znalost probírané látky a schopnost ji srozumitelně vysvětlit v případě ad hoc dotazů.

Jaroslav

Přestože jsem Cčkař, tak jsem se na školení JUnit dozvěděl nové věci. Zejména co se týče metodiky jednotkového testování a některých odborných termínů.

Retia
Jaromír


Novinky

16.1.2020: Pozor na jcenter repozitář (výchozí repozitář v Gradle)
Pozor na jcenter repozitář (výchozí repozitář v Gradle), v minulosti obsahoval falešné dependency (a stále tomu tak může být).

9.1.2020: https & repozitáře (Central, JCenter, Spring atd)
V současnosti řada repozitářů podporuje i HTTP, což se ale velice brzy (13.1 - 15.1) změní

13.12.2019: Java Microservices: A Practical Guide
Narazil jsem na velice zajímavou stránku, pod kterou bych se mohl podepsat :-) Praktický návod na Microservice architekturu.