Introduktion til Spring Boot CLI

1. Introduktion

Spring Boot CLI er en kommandolinjeabstraktion, der giver os mulighed for let at køre Spring-mikrotjenester udtrykt som Groovy-scripts. Det giver også forenklet og forbedret afhængighedsstyring for disse tjenester.

Denne korte artikel tager et hurtigt kig på hvordan man konfigurerer Spring Boot CLI og udfører enkle terminalkommandoer til at køre forudkonfigurerede mikrotjenester.

Vi bruger Spring Boot CLI 2.0.0.RELEASE til denne artikel. Den nyeste version af Spring Boot CLI kan findes på Maven Central.

2. Opsætning af Spring Boot CLI

En af de nemmeste måder at opsætte Spring Boot CLI på er at bruge SDKMAN. Installations- og installationsinstruktioner til SDKMAN kan findes her.

Efter installation af SDKMAN skal du køre følgende kommando for automatisk at installere og konfigurere Spring Boot CLI:

$ sdk installer springboot

For at bekræfte installationen skal du køre kommandoen:

$ forår - version

Vi kan også installere Spring Boot CLI ved at kompilere fra kilden, og Mac-brugere kan bruge forudbyggede pakker fra Homebrew eller MacPorts. Se de officielle dokumenter for alle installationsmuligheder.

3. Almindelige terminalkommandoer

Spring Boot CLI indeholder flere nyttige kommandoer og funktioner out-of-the-box. En af de mest nyttige funktioner er Spring Shell, som omslutter kommandoer med det nødvendige forår præfiks.

Til start den indlejrede skal, vi løber:

forårskal

Herfra kan vi direkte indtaste ønskede kommandoer uden at afvente forår nøgleord (da vi nu er i spring shell).

For eksempel kan vi vis den aktuelle version af den kørende CLI ved at skrive:

version

En af de vigtigste kommandoer fortæller Spring Boot CLI at køre et Groovy-script:

kør [SCRIPT_NAME]

Spring Boot CLI vil enten automatisk udlede afhængighederne eller gøre det under de korrekt leverede kommentarer. Herefter starter den en integreret webcontainer og app.

Lad os se nærmere på, hvordan du bruger Groovy-script med Spring Boot CLI!

4. Væsentlige groovy-scripts

Groovy og Spring kommer sammen med Spring Boot CLI til tillad, at stærke, performante mikrotjenester hurtigt kan scriptes i Groovy-implementeringer i en fil.

Understøttelse af applikationer med flere script kræver normalt yderligere buildværktøjer som Maven eller Gradle.

Nedenfor dækker vi nogle af de mest almindelige brugssager til Spring Boot CLI og reserverer mere komplekse opsætninger til andre artikler.

For en liste over alle Spring-understøttede Groovy-kommentarer, se venligst de officielle dokumenter.

4.1. @Tag fat

Det @Tag fat kommentar og Groovys Java-esque importere klausuler tillader let afhængighedsstyring og injektion.

Faktisk er de fleste annoteringer abstrakte, forenkle og automatisk inkludere de nødvendige importerklæringer. Dette giver os mulighed for at bruge mere tid på at tænke på arkitektur og den underliggende logik af de tjenester, vi ønsker at implementere.

Lad os se på, hvordan du bruger @Tag fat kommentar:

pakke org.test @Grab ("spring-boot-starter-actuator") @RestController klasse EksempelRestController {// ...}

Som vi kan se, fjeder-boot-starter-aktuator kommer forudkonfigureret, hvilket muliggør kortfattet implementering af script uden at kræve en tilpasset applikation eller miljøegenskaber, XMLeller anden programmatisk konfiguration, selvom hver af disse ting kan specificeres, når det er nødvendigt.

Den fulde liste over @Tag fat argumenter - der hver angiver et bibliotek til download og import - er tilgængelige her.

4.2. @Kontrol, @Kontrol, og @EnableWebMvc

For yderligere at fremskynde implementeringen kan vi alternativt bruge Spring Boot CLI's leverede "grab hints" til automatisk at udlede korrekte afhængigheder at importere.

Vi gennemgår nogle af de mest almindelige brugssager nedenfor.

For eksempel kan vi bruge det velkendte @Kontrol og @Service kommentarer til stillads hurtigt en standard MVC-controller og service:

@RestController klasse Eksempel {@Autowired privat MyService myService; @GetMapping ("/") offentlig streng hejWorld () {returner myService.sayWorld (); }} @ Service klasse MyService {public String sayWorld () {returner "Verden!"; }}

Spring Boot CLI understøtter al standardkonfiguration for Spring Boot. Så vi kan få vores Groovy-apps automatisk til at få adgang til statiske ressourcer fra deres sædvanlige standardplaceringer.

4.3. @EnableWebSecurity

Til tilføj Spring Boot Security-muligheder til vores app, kan vi bruge @EnableWebSecurity kommentar, som derefter automatisk downloades af Spring Boot CLI.

Nedenfor vil vi abstrakte en del af denne proces ved hjælp af spring-boot-starter-sikkerhed afhængighed, der udnytter @EnableWebSecurity kommentar under emhætten:

pakke bael.security @Grab ("spring-boot-starter-security") @RestController klasse SampleController {@RequestMapping ("/") public def eksempel () {[meddelelse: "Hello World!"]}} 

For at få flere oplysninger om, hvordan du beskytter ressourcer og håndterer sikkerhed, skal du tjekke den officielle dokumentation.

4.4. @Prøve

Til opsæt en simpel JUnit-test, kan vi tilføje @Grab ('junit') eller @Prøve kommentarer:

pakke bael.test @Grab ('junit') klasse Test {// ...}

Dette giver os mulighed for let at udføre JUnit-tests.

4.5. Datakilde og JdbcTemplate

Persistente dataindstillinger kan specificeres inklusive Datakilde eller JdbcTemplate uden udtrykkeligt at bruge @Tag fat kommentar:

pakke bael.data @Grab ('h2') @Configuration @EnableWebMvc @ComponentScan ('bael.data') klasse DataConfig {@Bean DataSource dataSource () {returner ny EmbeddedDatabaseBuilder () .setType (EmbeddedDatabaseType.H2) build (). ; }}

Ved blot at bruge velkendte konventioner om konfiguration af Spring Bean, vi har taget den indlejrede H2-database og indstillet den som Datakilde.

5. Brugerdefineret konfiguration

Der er to primære måder at konfigurere en Spring Boot-mikrotjeneste ved hjælp af Spring Boot CLI:

  1. Vi kan tilføje argumentparametre til vores terminalkommandoer
  2. vi kan bruge en tilpasset YAML-fil til at give en applikationskonfiguration

Spring Boot søger automatisk i / config mappe til ansøgning.yml eller application.properties

├── app ├── app.govovy ├── config ├── application.yml ... 

Vi kan også oprette:

├── app ├── eksempel.groovy ├── eksempel.yml ...

En komplet liste over applikationsegenskaber kan findes her på Spring.

6. Konklusion

Dette afslutter vores hurtige gennemgang af Spring Boot CLI! For flere detaljer, se de officielle dokumenter.

Og som sædvanligt kan kildekoden til denne artikel findes på GitHub.


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