Jarná topánka s režimom dlhodobého spánku

1. Prehľad

V tomto článku sa pozrieme na to, ako používať Spring Boot s režimom dlhodobého spánku.

Vytvoríme jednoduchú aplikáciu Spring Boot a uvidíme, aké ľahké je integrovať ju do režimu dlhodobého spánku.

2. Zavádzanie aplikácie

Na zavedenie našej aplikácie Spring Boot použijeme Spring Initializr. V tomto príklade použijeme na integráciu režimu dlhodobého spánku iba potrebné konfigurácie a závislosti, ktoré pridáme Web, JPA, a H2 závislosti. Tieto závislosti si vysvetlíme v nasledujúcej časti.

Vygenerujme projekt a otvorme ho v našom IDE. Môžeme skontrolovať vygenerovanú štruktúru projektu a identifikovať konfiguračné súbory, ktoré budeme potrebovať.

Takto bude vyzerať štruktúra projektu:

3. Závislosti Maven

Ak sa otvoríme pom.xml, uvidíme, že máme spring-boot-starter-web a test štartovacej pružiny ako závislé závislosti. Ako ich názvy napovedajú, ide o počiatočné závislosti v Spring Boot.

Poďme sa rýchlo pozrieť na závislosť, ktorá ťahá JPA:

 org.springframework.boot spring-boot-starter-data-jpa 

Táto závislosť zahŕňa JPA API, implementáciu JPA, JDBC a ďalšie potrebné knižnice. Pretože predvolená implementácia JPA je Hibernate, je táto závislosť v skutočnosti dostatočná aj na to, aby sa do nej dalo zapojiť.

Nakoniec použijeme H2 ako veľmi ľahká databáza pre tento príklad:

 runtime com.h2database h2 

Pomocou konzoly H2 môžeme skontrolovať, či je DB funkčný, a to aj pre užívateľsky prívetivé grafické rozhranie pre zadávanie údajov. Poďme do toho a povoľme to aplikácia.vlastníci:

spring.h2.console.enabled = true

To je všetko, čo sme potrebovali nakonfigurovať, aby pre náš príklad obsahovalo aj režim Hibernate a H2. Môžeme skontrolovať, či bola konfigurácia úspešná v protokoloch pri spustení aplikácie Spring Boot:

HHH000412: Hibernate Core {#Version}

HHH000206: hibernácia.vlastnosti sa nenašli

HCANN000001: Hibernate Commons Annotations {#Version}

HHH000400: Používanie dialektu: org.hibernate.dialect.H2Dialect

Teraz môžeme pristupovať k konzole H2 na localhost: // localhost: 8080 / h2-console /.

4. Vytvorenie entity

Aby sme skontrolovali, či naša H2 funguje správne, najskôr vytvoríme entitu JPA v novej modely priečinok:

@Entity public class Book {@Id @GeneratedValue private Long id; súkromné ​​meno reťazca; // štandardné konštruktory // štandardné getre a setre}

Teraz máme základnú entitu, z ktorej H2 môže vytvoriť tabuľku. Reštartom aplikácie a kontrolou H2 konzoly sa volala nová tabuľka Kniha sa vytvorí.

Ak chcete do aplikácie pridať nejaké počiatočné údaje, musíme vytvoriť nový súbor SQL s niektorými príkazmi insert a vložiť ich do nášho zdrojov priečinok. Môžeme použiť import.sql (Podpora dlhodobého spánku) alebo data.sql (Jarná podpora JDBC) súbory na načítanie údajov.

Tu sú naše príklady údajov:

vložiť do účtovných hodnôt (1, 'The Tartar Steppe'); vložiť do knižných hodnôt (2, 'Poem Strip'); vložiť do účtovných hodnôt (3, 'Restless Nights: Selected Stories of Dino Buzzati');

Opäť môžeme reštartovať aplikáciu Spring Boot a skontrolovať konzolu H2 - údaje sú teraz v Kniha stôl.

5. Vytvorenie úložiska a služby

Budeme pokračovať v vytváraní základných komponentov, aby sme mohli otestovať našu aplikáciu. Najskôr pridajme úložisko JPA do nového úložiská priečinok:

@Repository verejné rozhranie BookRepository rozširuje JpaRepository {}

Môžeme použiť JpaRepository rozhranie z jarného frameworku, ktoré poskytuje predvolenú implementáciu pre základné CRUD operácie.

Ďalej pridajme BookService v novom služby priečinok:

@Service verejná trieda BookService {@Autowired súkromná BookRepository bookRepository; public List list () {return bookRepository.findAll (); }}

Na otestovanie našej aplikácie musíme skontrolovať, či je možné vytvorené dáta načítať z zoznam () spôsob služby.

Napíšeme nasledovné SpringBootTest:

@RunWith (SpringRunner.class) @SpringBootTest verejná trieda BookServiceUnitTest {@Autowired private BookService bookService; @Test public void whenApplicationStarts_thenHibernateCreatesInitialRecords () {List books = bookService.list (); Assert.assertEquals (books.size (), 3); }}

Spustením tohto testu môžeme skontrolovať, či režim dlhodobého spánku vytvára Kniha údaje, ktoré sa potom úspešne načítajú našou službou. To bolo všetko, Hibernate beží s Spring Boot.

6. Názov tabuľky veľkých písmen

Niekedy možno budeme musieť mať názvy tabuliek v našej databáze napísané veľkými písmenami. Ako už vieme, v predvolenom nastavení režim dlhodobého spánku vygeneruje názvy tabuliek malými písmenami.

Mohli by sme sa tiež pokúsiť explicitne nastaviť názov tabuľky, napríklad takto:

@Entity (name = "BOOK") verejná trieda Kniha {// členovia, štandardní zakladatelia a zakladatelia}

To by však nefungovalo. Čo funguje, je nastavenie tejto vlastnosti do application.properties:

spring.jpa.hibernate.naming.physical-strategy = org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

Vďaka tomu môžeme v našej databáze skontrolovať, či sú tabuľky úspešne vytvárané veľkými písmenami.

7. Záver

V tomto článku sme sa pozreli na to, aké ľahké je integrovať režim dlhodobého spánku do Spring Boot. Použili sme databázu H2 ako veľmi ľahké riešenie v pamäti.

Uviedli sme úplný príklad aplikácie, ktorá využíva všetky tieto technológie, a nakoniec sme dali aj malú pomôcku, ako nastaviť názvy tabuliek v našej databáze veľkými písmenami.

Ako vždy, všetky útržky kódu uvedené v tomto článku nájdete v našom úložisku GitHub.


$config[zx-auto] not found$config[zx-overlay] not found