En guide til våren i formørkelse STS

Java Top

Jeg kunngjorde nettopp det nye Lær våren kurs, med fokus på det grunnleggende i vår 5 og vårstøvel 2:

>> KONTROLLER KURSET

1. Oversikt

Denne artikkelen illustrerer noen av de nyttige funksjonene i Eclipse Spring Tool Suite (STS) IDE, som er nyttige når du utvikler vårapplikasjoner.

Først viser vi fordelene ved å bruke STS sammenlignet med den tradisjonelle måten å bygge applikasjoner med Eclipse på.

Deretter fokuserer vi på hvordan du starter en applikasjon, hvordan du kjører den og hvordan du legger til flere avhengigheter. Til slutt avslutter vi med å legge til applikasjonsargumenter.

2. STS Hovedfunksjoner

STS er et formørkelsesbasert utviklingsmiljø som er tilpasset for utvikling av vårapplikasjoner.

Det gir et klar-til-bruk miljø for å implementere, feilsøke, kjøre og distribuere applikasjonene dine. Det inkluderer også integrasjon for Pivotal tc Server, Pivotal Cloud Foundry, Git, Maven og AspectJ. STS er bygget som et tillegg på toppen av de siste Eclipse-utgivelsene.

2.1. Prosjektkonfigurasjon

STS forstår nesten alle de vanligste Java-prosjektstrukturene. Den analyserer konfigurasjonsfiler og viser deretter detaljert informasjon om bønner som er definert, avhengigheter, brukte navneområder og i tillegg trekker ut oversikter for visse stereotyper.

2.2. STS Funksjoner Oversikt

Eclipse STS validerer prosjektet ditt og gir raske løsninger for applikasjonene dine. For eksempel, når du arbeider med Spring Data JPA, kan IDE brukes til å validere navn på spørringsmetoder (mer om dette i seksjon 6).

STS gir også en grafisk oversikt over alle bønnemetoder og deres gjensidige forhold. Det kan være lurt å se nærmere på grafiske redaktører som følger med STS ved å se på utsikten som er tilgjengelig under menyene. vindu, Vis utsikt og så Vår henholdsvis.

STS tilbyr også andre ekstra nyttige funksjoner som ikke er begrenset til Spring-applikasjoner. Leseren anbefales å se på hele listen over funksjoner som du finner her.

3. Opprettelse av en vårapplikasjon

La oss starte med å starte en enkel applikasjon. Uten STS opprettes vanligvis en vårapplikasjon ved å bruke nettstedet Spring Initializer eller Spring Boot CLI. Dette kan forenkles ved å klikke på Lag vårstartprosjekt fra dashbordet ditt i STS.

I Nytt vårstartprosjekt enten bruke standardinnstillingene eller foreta dine egne justeringer og deretter gå til neste skjermbilde. Å velge Internett og klikk på fullfør. Din pom.xml skal nå se ut som dette:

 org.springframework.boot spring-boot-starter-parent 1.3.6.RELEASE UTF-8 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test 

Din versjon av Spring Boot kan være annerledes, men den nyeste versjonen kan alltid bli funnet her.

4. Kjøre applikasjonen

Den nevnte applikasjonen kan startes ved å høyreklikke på prosjektet og velge kjør som Spring Boot App. Uten STS vil du mest sannsynlig kjøre applikasjonen fra kommandolinjen med følgende kommando:

$ mvn spring-boot: run

Som standard startes vårapplikasjoner med Tomcat som kjører på port 8080. På dette tidspunktet starter applikasjonen på port 8080 og gjør i utgangspunktet ingenting annet, ettersom vi ikke implementerte noen kode ennå. Avsnitt 8 viser deg hvordan du endrer standardporten.

5. Logging og ANSI-konsoll

Når du kjører prosjektet fra IDE ved hjelp av run-kommandoen, vil du legge merke til at konsollen gir ut noen fine fargekodede logguttalelser. Hvis du vil slå den av, gå til kjøre konfigurasjoner... og deaktiver avmerkingsboksen Aktiver utgang fra ANSI-konsollenVårstøvel fanen. Alternativt kan du også deaktivere den ved å sette en eiendomsverdi i application.properties fil.

spring.output.ansi.enabled = ALDRI

Mer informasjon om konfigurasjonen av applikasjonsloggene dine finner du her.

6. Sjekker for JPA-spørrenavn

Noen ganger kan implementering av et datatilgangslag være en tungvint aktivitet. Mye kokeplatekode må kanskje skrives for å realisere enkle spørsmål og utføre paginering. Spring Data JPA (JPA) har som mål å lette en slik implementering av datatilgangslager betydelig. Denne delen illustrerer noen av fordelene ved å bruke JPA i forbindelse med STS.

For å komme i gang, legg til følgende avhengighet for JPA til den tidligere genererte pom.xml:

 org.springframework.boot spring-boot-starter-data-jpa com.h2database h2 

Du har kanskje lagt merke til det versjon er ikke spesifisert i erklæringen ovenfor. Dette skyldes at avhengigheter styres fra foreldrene pom.xml:

 org.springframework.boot spring-boot-starter-parent 1.3.6.RELEASE 

For å få JPA til å fungere, kreves det at du definerer enhetsledere og transaksjonsledere riktig. Imidlertid konfigurerer Spring disse automatisk for deg. Det eneste som er igjen til utvikleren er å lage de faktiske enhetsklassene. Disse enhetene administreres av enhetslederen, som igjen blir opprettet av containeren. La oss for eksempel lage en enhetsklasse Foo som så:

@Entity offentlig klasse Foo implementerer Serializable {@Id @GeneratedValue private Integer id; privat strengnavn; // Standard getters og setters}

Containeren skanner alle klassene som er merket med @Enhet fra roten til konfigurasjonspakken. Deretter oppretter vi et JPA-depot for Foo enhet:

offentlig grensesnitt FooRepository utvider JpaRepository {public Foo findByNames (strengnavn); }

På dette punktet har du kanskje allerede lagt merke til at IDE nå flagger denne spørringsmetoden med et unntak:

Ugyldig avledet spørring! Ingen eiendomsnavn funnet for type Foo! 

Dette skyldes selvfølgelig at vi ved et uhell har skrevet en ‘s’ i metodenavnet til JPA-depotet. For å fikse dette, fjern de falske ‘sene slik:

offentlig Foo findByName (strengnavn);

Legg merke til at nei @EnableJpaRepositories ble brukt på config-klassen. Dette er fordi beholderen er AutoConfigration forhåndsregistrerer en for prosjektet.

7. Jar Type Søk

“Jar Type Search” er en funksjon som ble introdusert i STS 3.5.0. Det gir innholdsassisterte forslag i prosjekter for klasser som ikke (ennå) er på klassestien. STS kan hjelpe deg med å legge til avhengigheter i POM-filen din i tilfelle de ikke er på klassestien ennå.

La oss for eksempel legge til en linje i Foo enhetsklasse. For at dette eksemplet skal fungere skikkelig, må du først sørge for at importerklæringen for java.util.Liste er allerede til stede. Nå kan vi legge til Google Guava som følger:

private Listestrenger = Lister // ctrl + MELLOMROM for å få fullført kode

IDE vil foreslå flere avhengigheter som skal legges til klassestien. Legg til avhengighet fra com.google.common.collect,trykk retur og legg til avhengigheten fra Guava. Guava-glasset legges nå automatisk til pom.xml fil slik:

 com.google.guava guava 19.0 

Fra og med versjon STS 3.8.0 får du en bekreftelsesdialogboks før STS gjør endringene i din pom.xml.

8. Legge til applikasjonsargumenter

En av de andre kraftige egenskapene til Spring er støtte for eksterne konfigurasjoner som kan overføres til en applikasjon på flere måter, f.eks. som kommandolinjeargumenter, spesifisert i egenskaper eller YAML-filer eller som systemegenskaper. I denne delen fokuserer vi på å legge til et konfigurasjonsalternativ som applikasjonsstartargument ved hjelp av STS. Dette illustreres ved å konfigurere Tomcat til å starte på en annen port.

For å kjøre et program på en annen Tomcat-port enn standard, kan du bruke kommandoen nedenfor, der en egendefinert port er spesifisert som kommandolinjeargument:

mvn spring-boot: run -Drun.arguments = "- server.port = 7070"

Når du bruker STS, må du gå til løpe Meny. Å velge kjøre konfigurasjoner... fra dialogboksen Kjør konfigurasjoner, velg Spring Boot App fra venstre panel og velg demo - DemoApplication (dette vil være annerledes hvis du ikke valgte standardprosjektet). Fra (x) = Argumenter kategoritype i Programargumenter vindu

--server.port = 7070

og løpe. Du bør se utdata i konsollen din, lik utdataene som er vist nedenfor:

. . 2016-07-06 13: 51: 40.999 INFO 8724 --- [main] sbcetTomcatEmbeddedServletContainer: Tomcat startet på port (er): 7070 (http) 2016-07-06 13: 51: 41.006 INFO 8724 --- [main ] com.baeldung.boot.DemoApplication: Startet DemoApplication på 6.245 sekunder (JVM kjører i 7.34)

9. Konklusjon

I denne artikkelen har vi vist det grunnleggende om å utvikle et vårprosjekt i STS. Noen av tingene vi har vist er gjennomføring av applikasjoner i STS, støtte under utviklingen av Spring Data JPA og bruk av kommandolinjeargumenter. Imidlertid er det mange flere nyttige funksjoner som kan brukes under utvikling, ettersom STS tilbyr et rikt sett med funksjoner.

De full gjennomføring av denne artikkelen finnes i github-prosjektet - dette er et formørkelsesbasert prosjekt, så det skal være enkelt å importere og kjøre som det er.

Java bunn

Jeg kunngjorde nettopp det nye Lær våren kurs, med fokus på det grunnleggende i vår 5 og vårstøvel 2:

>> KONTROLLER KURSET

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