Vårstartkonsollapplikasjon

1. Oversikt

I denne raske opplæringen vil vi utforske hvordan du lager en enkel konsollbasert applikasjon ved hjelp av Spring Boot.

2. Maven-avhengigheter

Prosjektet vårt er avhengig av foreldren til vårstøvlen:

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

Den opprinnelige avhengigheten som kreves er:

 org.springframework.boot spring-boot-starter 

3. Konsollapplikasjon

Konsollapplikasjonen vår består av en enkelt klasse: SpringBootConsoleApplication.java - Dette er hovedklassen for vår Spring Boot-konsollapplikasjon.

Vi bruker Vårens @SpringBootApplication kommentar på hovedklassen vår for å aktivere automatisk konfigurasjon.

Denne klassen implementerer også Vårens CommandLineRunner grensesnitt. CommandLineRunner er et enkelt Spring Boot-grensesnitt med en løpe metode. Spring Boot vil automatisk ringe opp løpe metode for alle bønner som implementerer dette grensesnittet etter at applikasjonskonteksten er lastet inn.

Her er konsollapplikasjonen vår:

@SpringBootApplication offentlig klasse SpringBootConsoleApplication implementerer CommandLineRunner {private static Logger LOG = LoggerFactory .getLogger (SpringBootConsoleApplication.class); public static void main (String [] args) {LOG.info ("STARTING THE APPLICATION"); SpringApplication.run (SpringBootConsoleApplication.class, args); LOG.info ("APPLICATION FERDIG"); } @ Override public void run (String ... args) {LOG.info ("EXECUTING: command line runner"); for (int i = 0; i <args.length; ++ i) {LOG.info ("args [{}]: {}", i, args [i]); }}}

Vi bør også spesifisere spring.main.web-application-type = INGEN Vår eiendom. Denne egenskapen vil eksplisitt informere Spring om at dette ikke er en webapplikasjon.

Når vi utfører SpringBootConsoleApplication, kan vi se følgende loggført:

00: 48: 51.888 [main] INFO cbsSpringBootConsoleApplication - STARTING AV APPLIKASJONEN 00: 48: 52.752 [main] INFO cbsSpringBootConsoleApplication - Ingen aktive profilsett, faller tilbake til standardprofiler: standard 00: 48: 52.851 [main] INFO oscaAnnotationConfigApplication - Oppfriskende org.spring [e-postbeskyttet] 6497b078: oppstartsdato [Sat Jun 16 00:48:52 IST 2018]; rot til konteksthierarki 00: 48: 53.832 [main] INFO osjeaAnnotationMBeanExporter - Registrering av bønner for JMX-eksponering ved oppstart 00: 48: 53.854 [main] INFO cbsSpringBootConsoleApplication - EXECUTING: kommandolinjeløper 00: 48: 53.854 [main] INFO cbs SpringBootConsoleApplication - args [0]: Hello World! 00: 48: 53.860 [main] INFO cbsSpringBootConsoleApplication - Started SpringBootConsoleApplication in 1.633 seconds (JVM running for 2.373) 00: 48: 53.860 [main] INFO cbsSpringBootConsoleApplication - APPLICATION FINISHED 00: 48: 53.868 [ThreadConfigationAncit - Avslutning av org.spring [e-postbeskyttet] 6497b078: oppstartsdato [Sat Jun 16 00:48:52 IST 2018]; rot til konteksthierarki 00: 48: 53.870 [Tråd-2] INFO o.s.j.e.a. AnnotationMBeanExporter - Avregistrering av JMX-eksponerte bønner ved avslutning

Legg merke til at løpe metoden kalles etter at applikasjonskonteksten er lastet, men før kjøringen av hoved- metoden er fullført.

De fleste konsollapplikasjoner vil bare ha en enkelt klasse som implementeres CommandLineRunner. Hvis søknaden din har flere klasser som implementeres CommandLineRunnerkan rekkefølgen for utførelse spesifiseres ved hjelp av Spring's @Rekkefølge kommentar.

4. Konklusjon

I denne artikkelen har vi oppsummert hvordan du lager en enkel konsollbasert applikasjon ved hjelp av Spring Boot.

Den fulle kildekoden til eksemplene våre her er som alltid over på GitHub.