Bevezetés a JHipster-be
1. Bemutatkozás
Ez a cikk gyors áttekintést nyújt a JHipsterről, bemutatja, hogyan hozhat létre egyszerű monolitikus alkalmazást és egyéni entitásokat a parancssori eszközök segítségével.
Minden lépésben megvizsgáljuk a generált kódot, és kitérünk a build parancsokra és az automatizált tesztekre is.
2. Mi az a Jhipster
JHipster dióhéjban magas szintű kódgenerátor, amely az élvonalbeli fejlesztési eszközök és platformok átfogó listájára épül.
Az eszköz fő elemei:
- Yeoman, elülső állványos eszköz
- Jó öreg tavaszi csizma
- Az AngularJS, a kiemelkedő Javascript keretrendszer. A JHipster az AngularJS 2-vel is működik
A JHipster csak néhány shell parancs segítségével létrehoz egy teljes értékű Java webprojektet, barátságos, érzékeny kezelőfelülettel, dokumentált REST API-val, átfogó teszt lefedettséggel, alapvető biztonsággal és adatbázis-integrációval! A kapott kódot jól kommentálták, és követi az iparág legjobb gyakorlatát.
Egyéb kulcsfontosságú technológiák, amelyeket kihasználnak:
- Swagger, az API dokumentációhoz
- Maven, Npm, Yarn, Gulp és Bower mint függőségi menedzser és eszközépítő
- Jázmin, szögmérő, uborka és Gatling mint tesztkeret
- Liquibase az adatbázis-verziókhoz
Nem szükséges, hogy az összes elemet felhasználjuk a létrehozott alkalmazásban. Az opcionális elemeket a projekt létrehozása során választják ki.

Egy gyönyörű JHipster által generált alkalmazás. Ez annak a munkának az eredménye, amelyet ebben a cikkben végzünk.
3. Telepítés
A JHipster telepítéséhez először telepítenünk kell az összes függőséget:
- Java - 8. kiadás ajánlott
- Git - a verziókezelő rendszer
- NodeJS
- Yeoman
- Fonal
Ez elég függőség, ha az AngularJS 2 használata mellett dönt. ha inkább az AngularJS 1-hez megy, akkor telepítenie kell a Bower és a Gulp szoftvert is.
A befejezéshez csak magára a JHipsterre kell telepítenünk. Ez a legegyszerűbb rész. Mivel a JHipster egy Yeoman generátor, ami viszont egy Javascript csomag, a telepítés ugyanolyan egyszerű, mint egy egyszerű shell parancs futtatása:
fonal globális add generátor-jhipster
Ez az! A JHipster generátor telepítéséhez a Yarn csomagkezelőt használtuk.
4. Projekt létrehozása
A JHipster projekt létrehozása lényegében egy Yeoman projekt felépítését jelenti. Minden azzal kezdődik yo parancs:
mkdir baeldung-app && cd baeldung-app yo jster
Ezzel létrehozza projekt nevű mappánkat baeldung-app, és indítsa el a Yeoman parancssori felületét, amely végigvezeti velünk a projekt létrehozását.
A folyamat 15 lépést tartalmaz. Javaslom, hogy vizsgálja meg az egyes lépésekben rendelkezésre álló lehetőségeket. A cikk keretein belül létrehozunk egy egyszerű, Monolitikus alkalmazás nélkül, anélkül, hogy túlságosan eltérne az alapértelmezett beállításoktól.
Íme a cikk szempontjából leginkább releváns lépések:
- Alkalmazás típusa - Választ Monolit alkalmazás (egyszerű projektekhez ajánlott)
- Egyéb generátorok telepítése a JHipster Marketplace-től - Típus N. Ebben a lépésben szeretnénk hűvös kiegészítőket telepíteni. Néhány népszerű az entitás-audit, amely lehetővé teszi az adatok nyomon követését; bootstrap-material-design, amely a divatos Material Design komponenseket és a szögletes adattáblákat használja
- Maven vagy Gradle - Választ Maven
- Egyéb technológiák - Ne válasszon semmilyen lehetőséget, csak nyomja meg a gombot Belép hogy a következő lépésre lépjen. Itt választhatjuk, hogy csatlakoztatjuk-e a közösségi bejelentkezést a Google, a Facebook és a Twitter segítségével, ami nagyon jó funkció.
- Kliens keretrendszer - Választ [BETA] Szögletes 2.x. Mehetnénk az AngularJS 1-gyel is
- Engedélyezze a nemzetközivé válást - Típus Y, majd válassza a lehetőséget angol mint az anyanyelv. Választhatunk annyi nyelvet, amennyit csak akarunk, mint második nyelvet
- Teszt keretek - Válassza a lehetőséget Gatling és Szögmérő

A JHipster létrehozza a projektfájlokat, majd elkezdi telepíteni a függőségeket. A kimeneten a következő üzenet jelenik meg:
Minden kész vagyok. Az npm telepítés futtatása a szükséges függőségek telepítéséhez. Ha ez nem sikerül, próbálja meg maga futtatni a parancsot.
A függőségek telepítése eltarthat egy ideig. Miután befejezte, megjelenik:
A kiszolgálóalkalmazás sikeresen létrehozva. Futtassa a Spring Boot alkalmazást: ./mvnw Client alkalmazás sikeresen létrehozva. Indítsa el a Webpack fejlesztőkiszolgálót a következővel: npm start
Projektünk elkészült. Futtathatjuk a fő parancsokat a projekt gyökérmappájában:
./mvnw #starts Spring Boot, a 8080-as porton ./mvnw tiszta teszt #futtatja az alkalmazás tesztfonal-tesztjét #futtatja az ügyfél tesztjeit
A JHipster egy README fájlt generál, közvetlenül a projektünk gyökérmappájába helyezve. Ez a fájl utasításokat tartalmaz a projektünkhöz kapcsolódó sok más hasznos parancs futtatásához.
5. A létrehozott kód áttekintése
Vessen egy pillantást az automatikusan létrehozott fájlokra. Észre fogja venni, hogy a projekt meglehetősen hasonlít egy szokásos Java / Spring projektre, de rengeteg extrával rendelkezik.
Mivel a JHipster gondoskodik az elülső kód létrehozásáról is, talál egy csomag.json fájl, a webpack mappát, és néhány más internettel kapcsolatos dolgot.
Fedezzük fel gyorsan a kritikus fájlokat.
5.1. Háttérfájlok
- A várakozásoknak megfelelően a Java kódot a src / main / java mappába
- A src / main / resources mappában van a Java kód által használt statikus tartalom egy része. Itt találjuk a ( i18n mappa), e-mail sablonok és néhány konfigurációs fájl
- Az egység és az integrációs tesztek a src / test / java mappába
- A teljesítmény (Gatling) tesztek folyamatban vannak src / test / gatling. Ezen a ponton azonban nem lesz sok tartalom ebben a mappában. Miután létrehoztunk néhány entitást, az objektumok teljesítménytesztjei itt lesznek
5.2. Front-end
- A gyökérkezelő mappa src / main / webapp
- A kb mappában található az AngularJS modulok nagy része
- i18n tartalmazza az elülső rész internacionalizációs fájljait
- Az egység tesztek (Karma) a src / test / javascript / spec mappába
- Az end-to-end tesztek (szögmérő) a src / test / javascript / e2e mappába
6. Egyéni entitások létrehozása
Az entitások a JHipster alkalmazás építőkövei. Az üzleti objektumokat képviselik, mint például a Felhasználó, a Feladat, a Post, a Megjegyzésstb.
Entitások létrehozása a JHipster segítségével fájdalommentes folyamat. Létrehozhatunk egy objektumot parancssori eszközökkel, hasonlóan ahhoz, ahogyan magunkat a projektet létrehoztuk, vagy a JDL-Studio segítségével, egy olyan online eszközön keresztül, amely JSON ábrázolást generál az entitásokról, amelyeket később be lehet importálni a projektünkbe.
Ebben a cikkben a parancssori eszközök segítségével hozzunk létre két entitást: Post és Megjegyzés.
A Post legyen címe, szöveges tartalma és létrehozási dátuma. Kapcsolódnia kell egy felhasználóhoz is, aki a Post. A Felhasználó sok lehet Bejegyzések társítva velük.
A Post nulla vagy sok is lehet Hozzászólások. Minden egyes Megjegyzés rendelkezik szöveggel és létrehozási dátummal.
Felgyújtani a teremtés folyamatát Post entitás, lépjen a projektünk gyökérmappájába, és írja be:
yo jhipster: entitás post
Most kövesse a felület által bemutatott lépéseket.
- Adjon hozzá egy nevű mezőt cím típusú Húr és adjon hozzá néhány érvényesítési szabályt a mezőhöz (Kívánt, Minimális hossz és Maximális hossz)
- Adjon hozzá még egy nevű mezőt tartalom típusú Húr és készítsd el azt is Kívánt
- Adjon hozzá egy harmadik nevű mezőt létrehozás dátumatípusú LocalDate
- Most tegyük hozzá a kapcsolatot Felhasználó. Figyelje meg, hogy az entitás Felhasználó már létezik. A projekt koncepciója során jött létre. A másik entitás neve felhasználó, a kapcsolat neve Teremtő, és a típus az sok-az-egyhez, a megjelenítő mező név, és jobb megteremteni a kapcsolatot kívánt
- Ne válassza a DTO használatát, menjen vele Közvetlen entitás helyette
- Válassza ki, hogy a lerakatot közvetlenül a szolgáltatási osztályba adja-e. Vegyük észre, hogy egy valós alkalmazásban valószínűleg ésszerűbb lenne elkülöníteni a REST vezérlőt a szolgáltatási osztálytól
- A befejezéshez válassza a lehetőséget végtelen görgetés mint a lapozás típusa
- Adja meg a JHipster engedélyét a létező fájlok felülírásához, ha szükséges
Ismételje meg a fenti folyamatot nevű entitás létrehozásához megjegyzés, két mezővel, szöveges, típusú Húr, és létrehozás dátuma típusú LocalDate. Megjegyzés kell egy kötelező sok-az-egyhez kapcsolatban Post.
Ez az! A folyamatnak sok lépése van, de látni fogja, hogy nem kell ennyi idő a végrehajtásukhoz.
Észre fogja venni, hogy a JHipster egy csomó új fájlt hoz létre, és néhány másikat módosít az entitások létrehozásának folyamata részeként:
- A.jhipster mappa jön létre, amely tartalmazza a JSON fájl minden objektumhoz. Ezek a fájlok az entitások felépítését írják le
- Az aktuális @Entity kommentált osztályok a tartomány csomag
- Az adattárak a adattár csomag
- A REST vezérlők bemennek a web.rest csomag
- Az egyes táblateremtések Liquibase váltónaplói a erőforrások / config / liquibase / changelog mappába
- A kezelőfelületen minden entitáshoz egy mappa jön létre a entitások Könyvtár
- Az internacionalizációs fájlokat a i18n mappa (nyugodtan módosítsa ezeket, ha akarja)
- Számos teszt, front-end és back-end jön létre a src / teszt mappába
Ez elég sok kód!
Futtassa nyugodtan a teszteket, és ellenőrizze még egyszer, hogy mindegyik sikeres-e. Most a Gatling segítségével is futtathatunk teljesítményteszteket a parancs használatával (az alkalmazásnak futtatnia kell a tesztek átadásához):
mvnw gatling: kivégezni
Ha ellenőrizni szeretné a kezelőfelület működését, indítsa el az alkalmazást./ mvnw, navigáljon a // localhost: 8080 és jelentkezzen be a admin felhasználó (a jelszó: admin).
Választ Post a felső menüben a Entitások menü tétel. Megjelenik egy üres lista, amely később az összes bejegyzést tartalmazza. Kattintson a Hozzon létre egy új bejegyzést gomb a felvételi űrlap megjelenítéséhez:

Figyelje meg, hogy a JHipster mennyire óvatos az űrlap összetevőin és az érvényesítési üzeneteken. Természetesen módosíthatjuk a kezelőfelületet, amennyit csak akarunk, de a forma nagyon jól fel van építve.
7. Folyamatos integrációs támogatás
A JHipster automatikusan létrehozhat konfigurációs fájlokat a leggyakrabban használt folyamatos integrációs eszközökhöz. Csak futtassa ezt a parancsot:
yo jhipster: ci-cd
És válaszoljon a kérdésekre. Itt kiválaszthatjuk, melyik CI-eszközökhöz szeretnénk konfigurációs fájlokat létrehozni, függetlenül attól, hogy a Docker, a Sonar használatát akarjuk-e használni, és akár a Heroku-ra is szeretnénk telepíteni az építési folyamat részét.
A ci-cd parancs a következő CI eszközökhöz hozhat létre konfigurációs fájlokat:
- Jenkins: a fájl JenkinsFile
- Travis CI: a fájl .travis.yml
- CI kör: a fájl kör.yml
- GitLab: a fájl .gitlab-ci.yml
8. Következtetés
Ez a cikk egy kis ízelítőt adott arról, mire képes a JHipster. Természetesen sokkal többről van szó, mint amire itt tudunk kitérni, ezért mindenképpen fedezze fel a hivatalos JHipster webhelyet.
És mint mindig, a kód elérhető a GitHubon.