Aplikasi Spring Boot Console

1. Ikhtisar

Dalam tutorial singkat ini, kita akan mempelajari cara membuat aplikasi berbasis konsol sederhana menggunakan Spring Boot.

2. Ketergantungan Maven

Proyek kami bergantung pada induk pegas:

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

Ketergantungan awal yang dibutuhkan adalah:

 org.springframework.boot spring-boot-starter  

3. Aplikasi Konsol

Aplikasi konsol kami terdiri dari satu kelas: SpringBootConsoleApplication.java - ini adalah kelas utama untuk aplikasi konsol Spring Boot.

Kami menggunakan anotasi @SpringBootApplication Spring di kelas utama kami untuk mengaktifkan konfigurasi otomatis.

Kelas ini juga mengimplementasikan antarmuka CommandLineRunner Spring . CommandLineRunner adalah antarmuka Spring Boot sederhana dengan metode run . Spring Boot secara otomatis akan memanggil metode run dari semua kacang yang mengimplementasikan antarmuka ini setelah konteks aplikasi dimuat.

Berikut adalah aplikasi konsol kami:

@SpringBootApplication public class SpringBootConsoleApplication implements 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 FINISHED"); } @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]); } } }

Kita juga harus menentukan properti spring.main.web-application-type = NONE Spring. Properti ini secara eksplisit akan memberi tahu Spring bahwa ini bukan aplikasi web.

Saat kami menjalankan SpringBootConsoleApplication , kami dapat melihat log berikut:

00:48:51.888 [main] INFO c.b.s.SpringBootConsoleApplication - STARTING THE APPLICATION 00:48:52.752 [main] INFO c.b.s.SpringBootConsoleApplication - No active profile set, falling back to default profiles: default 00:48:52.851 [main] INFO o.s.c.a.AnnotationConfigApplicationContext - Refreshing org.spring[email protected]6497b078: startup date [Sat Jun 16 00:48:52 IST 2018]; root of context hierarchy 00:48:53.832 [main] INFO o.s.j.e.a.AnnotationMBeanExporter - Registering beans for JMX exposure on startup 00:48:53.854 [main] INFO c.b.s.SpringBootConsoleApplication - EXECUTING : command line runner 00:48:53.854 [main] INFO c.b.s.SpringBootConsoleApplication - args[0]: Hello World! 00:48:53.860 [main] INFO c.b.s.SpringBootConsoleApplication - Started SpringBootConsoleApplication in 1.633 seconds (JVM running for 2.373) 00:48:53.860 [main] INFO c.b.s.SpringBootConsoleApplication - APPLICATION FINISHED 00:48:53.868 [Thread-2] INFO o.s.c.a.AnnotationConfigApplicationContext - Closing org.spring[email protected]6497b078: startup date [Sat Jun 16 00:48:52 IST 2018]; root of context hierarchy 00:48:53.870 [Thread-2] INFO o.s.j.e.a.AnnotationMBeanExporter - Unregistering JMX-exposed beans on shutdown

Perhatikan bahwa metode run dipanggil setelah konteks aplikasi dimuat tetapi sebelum eksekusi metode utama selesai.

Sebagian besar aplikasi konsol hanya memiliki satu kelas yang mengimplementasikan CommandLineRunner . Jika aplikasi Anda memiliki beberapa kelas yang mengimplementasikan CommandLineRunner , urutan eksekusi dapat ditentukan menggunakan anotasi @Order Spring .

4. Kesimpulan

Pada artikel ini, kami telah merangkum cara membuat aplikasi berbasis konsol sederhana menggunakan Spring Boot.

Kode sumber lengkap dari contoh kami di sini, seperti biasa, di GitHub.