Aplikacija Spring Boot Console

1. Pregled

U ovom brzom vodiču istražit ćemo kako stvoriti jednostavnu aplikaciju temeljenu na konzoli pomoću Spring Boota.

2. Ovisnosti Mavena

Naš se projekt oslanja na roditelja s proljetnim pokretanjem:

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

Početna potrebna ovisnost je:

 org.springframework.boot spring-boot-starter 

3. Primjena konzole

Naša se konzola sastoji od jedne klase: SpringBootConsoleApplication.java - ovo je glavna klasa za vanjsku aplikaciju Spring Boot konzole.

Koristimo Proljetni @SpringBootApplication bilješka na našoj glavnoj klasi kako bismo omogućili automatsku konfiguraciju.

Ova klasa također provodi Proljetni CommandLineRunner sučelje. CommandLineRunner je jednostavno sučelje Spring Boot s a trčanje metoda. Spring Boot će automatski pozvati trčanje metoda svih grahova koji implementiraju ovo sučelje nakon učitavanja konteksta aplikacije.

Evo naše aplikacije za konzolu:

@SpringBootApplication javna klasa SpringBootConsoleApplication implementira CommandLineRunner {private static Logger LOG = LoggerFactory .getLogger (SpringBootConsoleApplication.class); javna statička void glavna (String [] args) {LOG.info ("POČETAK PRIJAVE"); SpringApplication.run (SpringBootConsoleApplication.class, args); LOG.info ("PRIJAVA ZAVRŠENA"); } @Override public void run (String ... args) {LOG.info ("IZVRŠENJE: pokretač naredbenog retka"); for (int i = 0; i <args.length; ++ i) {LOG.info ("args [{}]: {}", i, args [i]); }}}

Također bismo trebali navesti spring.main.web-application-type = NONE Proljetno imanje. Ovo će svojstvo izričito obavijestiti Spring da ovo nije web aplikacija.

Kad izvršimo smrt SpringBootConsoleApplication, možemo vidjeti sljedeće zabilježene:

00: 48: 51.888 [glavna] INFO cbsSpringBootConsoleApplication - POČETAK PRIMJENE 00: 48: 52.752 [glavna] INFO cbsSpringBootConsoleApplication - Aktivni profil nije postavljen, vraća se na zadane profile: zadani 00: 48: 52.851 [glavna] INFO oscaAnnotationConfigApplicationConfigApplication - Osvježavanje org.spring [e-pošta zaštićena] 6497b078: datum pokretanja [sub 16. lipnja 00:48:52, IST 2018]; korijen hijerarhije konteksta 00: 48: 53.832 [glavna] INFO osjeaAnnotationMBeanExporter - Registriranje graha za izlaganje JMX-u prilikom pokretanja 00: 48: 53.854 [glavna] INFO cbsSpringBootConsoleApplication - IZVRŠAVANJE: trkač naredbenog retka 00: 48: 53.854 [glavna] INFO cbs SpringBootConsoleApplication - args [0]: Pozdrav svijetu! 00: 48: 53.860 [glavna] INFO cbsSpringBootConsoleApplication - Započeta SpringBootConsoleApplication za 1,633 sekunde (JVM radi za 2.373) 00: 48: 53.860 [glavna] INFO cbsSpringBootConsoleApplication - PRIJAVA ZAVRŠENA 00: 48: 53.868nOCConPonConConConOnConcaon - Zatvaranje org.spring [e-pošta zaštićena] 6497b078: datum pokretanja [sub 16. lipnja 00:48:52 IST 2018]; korijen hijerarhije konteksta 00: 48: 53.870 [Tema-2] INFO o.s.j.e.a.AnnotationMBeanExporter - Poništavanje registracije graha izloženih JMX-u prilikom isključivanja

Primijetite da trčanje metoda poziva se nakon učitavanja konteksta aplikacije, ali prije izvršenja glavni metoda je završena.

Većina konzolnih aplikacija imat će samo jednu klasu koja se implementira CommandLineRunner. Ako vaša aplikacija ima više klasa koje se implementiraju CommandLineRunner, redoslijed izvršenja može se odrediti pomoću Spring-a @Narudžba bilješka.

4. Zaključak

U ovom smo članku saželi kako stvoriti jednostavnu aplikaciju temeljenu na konzoli pomoću Spring Boot-a.

Puni izvorni kod naših primjera ovdje je, kao i uvijek, gotov na GitHubu.