Spring Boot Console-applikation

1. Oversigt

I denne hurtige vejledning undersøger vi, hvordan du opretter en simpel konsolbaseret applikation ved hjælp af Spring Boot.

2. Maven-afhængigheder

Vores projekt er afhængig af foråret-boot forælder:

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

Den krævede oprindelige afhængighed er:

 org.springframework.boot spring-boot-starter 

3. Konsolansøgning

Vores konsolapplikation består af en enkelt klasse: SpringBootConsoleApplication.java - dette er hovedklassen til Spring Spring-konsolapplikation.

Vi bruger Forårets @SpringBootApplication kommentar på vores hovedklasse for at aktivere automatisk konfiguration.

Denne klasse gennemføres også Forårets CommandLineRunner interface. CommandLineRunner er en simpel Spring Boot-grænseflade med en løb metode. Spring Boot kalder automatisk på løb metode til alle bønner, der implementerer denne grænseflade, efter at applikationskonteksten er indlæst.

Her er vores konsolapplikation:

@SpringBootApplication offentlig klasse SpringBootConsoleApplication implementerer CommandLineRunner {privat statisk Logger LOG = LoggerFactory .getLogger (SpringBootConsoleApplication.class); offentlig statisk ugyldig hoved (String [] args) {LOG.info ("START AF ANSØGNINGEN"); 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 skal også specificere spring.main.web-application-type = INGEN Spring ejendom. Denne ejendom vil eksplicit informere Spring om, at dette ikke er en webapplikation.

Når vi udfører SpringBootConsoleApplication, kan vi se følgende logget:

00: 48: 51.888 [main] INFO cbsSpringBootConsoleApplication - START AF APPLIKATIONEN 00: 48: 52.752 [main] INFO cbsSpringBootConsoleApplication - Intet aktivt profilsæt, der falder tilbage til standardprofiler: standard 00: 48: 52.851 [main] INFO oscaAnnotationConfigApplication - Forfriskende org.spring [email protected] 6497b078: startdato [Sat Jun 16 00:48:52 IST 2018]; rod af konteksthierarki 00: 48: 53.832 [main] INFO osjeaAnnotationMBeanExporter - Registrering af bønner til JMX-eksponering ved opstart 00: 48: 53.854 [main] INFO cbsSpringBootConsoleApplication - EXECUTING: kommandolinjeløber 00: 48: 53.854 [main] INFO cbs SpringBootConsoleApplication - args [0]: Hej verden! 00: 48: 53.860 [main] INFO cbsSpringBootConsoleApplication - Startet SpringBootConsoleApplication på 1.633 sekunder (JVM kører i 2.373) 00: 48: 53.860 [main] INFO cbsSpringBootConsoleApplication - APPLICATION FERDIG 00: 48: 53.868 [ThreadsconationInfo] - Lukning af org.spring [email protected] 6497b078: startdato [Sat Jun 16 00:48:52 IST 2018]; rod til konteksthierarki 00: 48: 53.870 [Tråd-2] INFO o.s.j.e.a. AnnotationMBeanExporter - Afregistrering af JMX-eksponerede bønner ved nedlukning

Bemærk, at løb metode kaldes efter applikationskontekst er indlæst, men før udførelsen af vigtigste metoden er komplet.

De fleste konsolapplikationer har kun en enkelt klasse, der implementeres CommandLineRunner. Hvis din applikation har flere klasser, der implementeres CommandLineRunner, kan rækkefølgen af ​​udførelsen specificeres ved hjælp af Spring's @Bestille kommentar.

4. Konklusion

I denne artikel har vi opsummeret, hvordan man opretter en simpel konsolbaseret applikation ved hjælp af Spring Boot.

Den fulde kildekode for vores eksempler her er som altid over på GitHub.