Kratki vodič za Spring Roo

1. Pregled

Spring Roo je alat za brzi razvoj aplikacija (RAD) čiji je cilj pružiti brze i trenutne rezultate usredotočene na web aplikacije Spring i novije Spring tehnologije. Omogućuje nam generiranje koda uzorka i strukturu projekta za Spring aplikacije s jednostavnim naredbama.

Roo se može koristiti kao samostalna aplikacija koja se izvodi iz naredbenog retka operativnog sustava. Nema potrebe za upotrebom Eclipsea, Spring Tool Suite (STS) ili bilo kojeg drugog IDE-a; zapravo, za pisanje koda možemo koristiti bilo koji uređivač teksta!

Međutim, radi jednostavnosti, koristit ćemo STS IDE s Roo ekstenzijom.

2. Instaliranje Spring Roo-a

2.1. Zahtjevi

Da biste slijedili ovaj vodič, morate ih instalirati:

  1. Java JDK 8
  2. STS
  3. Proljetni Roo

2.2. Montaža

Nakon što preuzmemo i instaliramo Java JDK i STS, moramo raspakirati Spring Roo i dodati ga na sistemsku stazu.

Stvorimo ROO_HOME varijabla okoline i dodaj % ROO_HOME% \ bin do staze.

Da bismo provjerili je li Roo ispravno instaliran, možemo otvoriti naredbeni redak i izvršiti sljedeće naredbe:

mkdir baeldung cd baeldung roo quit

Nakon nekoliko sekundi vidjet ćemo:

 _ ___ _ __ _ __ (_) _ __ __ _ _ __ ___ ___ / __ | '_ \ | '__ | | '_ \ / _` | | '__ / _ \ / _ \ \ __ \ | _) | | | | | | | (_ | | | | | (_) | (_) | | ___ / .__ / | _ | | _ | _ | | _ | \ __, | | _ | \ ___ / \ ___ / | _ | | ___ / 2.0.0.RC1 Dobrodošli u Spring Roo. Za pomoć pritisnite TAB ili upišite "hint", a zatim pritisnite ENTER.

Roo je instaliran i radi. Imajte na umu da će se verzija Spring Rooa razlikovati, a koraci i upute mogu ovisiti o stvarnoj korištenoj verziji.

Važno: Spring Roo 2.0 nije kompatibilan s 1.x.

2.3. Dodavanje i konfiguriranje STS proširenja

Izvan okvira, STS podržava razvoj Spring aplikacija i uključuje proširenja spremna za upotrebu. Međutim, proširenje Spring Roo nije uključeno. Stoga ćemo ga morati dodati ručno.

U STS idemo na Instalirajte novi softver i uvezite oznake u Dostupna web mjesta softvera. Trenutno su oznake u % ROO_HOME% \ conf mapu. Nakon što smo uvezli oznake, možemo ih jednostavno pretraživati roo i instalirajte najnoviju verziju Proljetna podrška za IDE Roo. Na kraju ćemo biti zamoljeni da ponovno pokrenemo STS.

Za detaljne i ažurne korake uvijek možemo provjeriti dokumentaciju Spring Roo Getting Started.

Nakon što instaliramo Roo Support u STS, moramo postaviti proširenje. Jednostavno je poput usmjeravanja Roo podrške % ROO_HOME% mapu. Opet, Spring Roo Getting Started daje detaljne korake kako to učiniti.

Sada možemo još jednom otići na izbornik aplikacije "Prozor" i odabrati Prikaži prikaz> Roo Shell.

3. Prvi projekt

3.1. Postavljanje projekta u STS-u

U STS-u otvorimo Roo Shell prozor i kliknite na Izradite novi Roo projekt ikona. Ovo će otvoriti Novi Roo projekt prozor.

Nazvat ćemo projekt roo i koristiti com.baeldung kao naziv našeg paketa najviše razine. Možemo ostaviti sve ostale zadane vrijednosti i nastaviti do kraja stvoriti novi projekt pomoću Roo-a.

U STS-u će za nas pokrenuti sljedeću naredbu:

postavljanje projekta --topLevelPackage com.baeldung --projectName "roo" --java 8 --pakiranje JAR

Kao što je već spomenuto, IDE nam nije potreban, a tu smo naredbu mogli i sami pokrenuti iz Roo Shella! Radi jednostavnosti koristimo ugrađene značajke STS-a.

Ako dobijemo sljedeću pogrešku:

Nije moguće izračunati plan gradnje: Dodatak org.codehaus.mojo: aspectj-maven-plugin: 1.8 ili nije mogla biti riješena jedna od njegovih ovisnosti: Nije uspjelo čitanje deskriptora artefakta za org.codehaus.mojo: aspectj-maven-plugin: jar: 1.8

najlakši način da ga popravite je ručno uređivanje pom.xml datoteka i ažuriranje aspektj.dodatka.verzija iz 1.8 do 1.9:

1.9

U ovoj fazi u projektu ne bi trebalo biti pogrešaka, a za nas će biti nekoliko automatski generiranih datoteka.

3.2. Roo Shell

Sada je vrijeme da se upoznate s Roo školjkom. Primarno korisničko sučelje Spring Roo-a zapravo je naredbeni redak!

Stoga, vratimo se prozoru Roo Shell. U njemu pokrenimo prvu naredbu upisivanjem 'h' i pritiskom na CTRL + PROSTOR:

roo> h pomoć savjet

Roo će nam automatski predložiti i samodovršavati naredbe. Možemo upisati "hi", pritisnuti CTRL + RAZMAKNICA i Roo će automatski predložiti savjet naredba.

Još jedna sjajna značajka Roo Shell je svijest o kontekstu. Na primjer, izlaz savjet naredba će se mijenjati ovisno o prethodnom unosu.

Izvršimo sada savjet naredbu i pogledajte što će se dogoditi:

roo> hint Roo zahtijeva instalaciju trajne konfiguracije. Upišite "jpa setup", a zatim pritisnite CTRL + PROSTOR. Predlažemo da upišete 'H', a zatim CTRL + PROSTOR da biste dovršili "HIBERNATE". Nakon --provider, pritisnite CTRL + PROSTOR za odabir baze podataka. Za potrebe testiranja upišite (ili CTRL + PROSTOR) HYPERSONIC_IN_MEMORY. Ako ponovno pritisnete CTRL + RAZMAKNICA, vidjet ćete da više nema mogućnosti. Kao takvi, spremni ste pritisnuti ENTER za izvršavanje naredbe. Jednom kada je JPA instaliran, upišite 'hint' i ENTER za sljedeći prijedlog.

Daje nam sljedeće korake koje trebamo izvesti. Dodajmo sada bazu podataka:

roo> jpa setup --provider HIBERNATE --baza podataka HYPERSONIC_IN_MEMORY Stvorena SRC_MAIN_RESOURCES \ application.properties Ažurirano SRC_MAIN_RESOURCES \ application.properties Ažurirano SRC_MAIN_RESOURCES \ application-dev.properties ažuriran ROOTfra pom. -starter-data-jpa :, org.springframework.boot: spring-boot-starter-jdbc :, org.hsqldb: hsqldb :; dodano svojstvo 'springlets.version' = '1.2.0.RC1'; dodane su ovisnosti io.springlets: springlets-data-jpa: $ {springlets.version}, io.springlets: springlets-data-jpa: $ {springlets.version}; dodane su ovisnosti io.springlets: springlets-data-commons: $ {springlets.version}, io.springlets: springlets-data-commons: $ {springlets.version}]

U ovoj fazi trebat ćemo izvršiti neke naredbe. Između svakog od njih uvijek možemo trčati savjet naredba da se vidi što predlaže Roo. Ovo je vrlo korisna značajka.

Prvo pokrenimo naredbe, a mi ćemo ih proći poslije:

roo> entity jpa --class ~ .domain.Book field string --fieldName title --notNull field string --fieldName author --notNull field string --fieldName isbn --notNull repository jpa --entity ~ .domain.Book service --sve web mvc postavke web mvc view setup --type THYMELEAF web mvc kontroler --entity ~ .domain.Book --responseType THYMELEAF

Sada smo spremni za pokretanje naše aplikacije. No, vratimo se kroz naredbe da vidimo što smo učinili.

Prvo smo stvorili novi JPA postojani entitet u src / main / java mapu. Dalje smo stvorili tri Niz polja u Knjiga razreda, dao im je ime i postavilo da to nisu null.

Nakon toga generirali smo spremište Spring Data za navedeni entitet i stvorili novo sučelje usluge.

Na kraju smo uključili Spring MVC konfiguraciju, instalirali Thymeleaf i stvorili novi kontroler koji upravlja našim entitetom. Budući da smo Thymeleaf predali kao vrstu odgovora, generirane metode i pogledi to će odražavati.

3.3. Pokretanje aplikacije

Osvježimo projekt i kliknite desnom tipkom miša roo projekt i odaberi Pokreni kao> Spring Boot App.

Nakon što aplikacija započne, možemo otvoriti web preglednik i otići na // localhost: 8080. Dalje, do ikone Roo, vidjet ćemo Knjiga izbornik i ispod dvije mogućnosti: Stvori knjigu i Popis knjiga. To možemo koristiti za dodavanje knjige u našu aplikaciju i pregled popisa dodanih knjiga.

3.4. Druge značajke

Kad otvorimo Knjiga.java datoteka klase, primijetit ćemo da je klasa označena s @Roo bilješke. Njih je dodao Roo Shell, a koriste se za kontrolu i prilagodbu sadržaja datoteka inter-type deklaracije (ITD) AspectJ. Datoteke možemo pregledati u Exploreru paketa u STS-u poništavanjem odabira filtra "Sakrij generirane Spring Roo ITD-ove" u izborniku Pogled ili možemo otvoriti datoteke izravno iz datotečnog sustava.

Roo bilješke imaju IZVOR politika zadržavanja. To znači napomene neće biti prisutne u kompajliranom bytecodeu klase, i neće biti ovisnosti o Roo-u u postavljenim aplikacijama.

Još jedan, očito nedostajući dio u Knjiga.java razred su geteri i postavljači. Oni su pohranjeni u odvojenim AspectJ ITD datotekama, kao što je već spomenuto. Roo će za nas aktivno održavati ovaj šifra. Stoga će se promjene polja u bilo kojoj klasi automatski odražavati u AspectJ ITD-ima jer Roo "nadgleda" sve promjene - ili izvršene putem Roo Shell-a ili izravno od strane programera u IDE-u.

Roo će se pobrinuti za ponavljajući kod poput toString () ili jednako () metode također.

Štoviše, okvir se lako može ukloniti iz projekta, izbjegavajući zaključavanje dobavljača, uklanjanjem napomena i guranjem AspectJ ITD-a na standardni java kod.

4. Zaključak

U ovom brzom primjeru uspjeli smo instalirati i konfigurirati Spring Roo u STS i stvorili smo mali projekt.

Koristili smo Roo Shell da bismo je postavili i nismo trebali napisati niti jedan redak stvarnog Java koda! Uspjeli smo dobiti radni prototip aplikacije za nekoliko minuta, a Roo se pobrinuo za sav kod za nas.

Kao i uvijek, kod korišten tijekom rasprave možete pronaći na GitHubu.