Рубрики
Без рубрики

Весенняя загрузка консоли приложение

Узнайте, как создать приложение для консоли Spring Boot

Автор оригинала: baeldung.

Весенняя загрузка консоли приложение

1. Обзор

В этом быстром учебнике мы изумим, как создать простое консоль на основе приложения с помощью Spring Boot.

2. Мейвен зависимостей

Наш проект опирается на пружинную загрузку родителей:


    org.springframework.boot
    spring-boot-starter-parent
    2.4.0

Первоначальная зависимость требуется:


    org.springframework.boot
    spring-boot-starter

3. Консоль приложение

Наше консоль приложение состоит из одного класса: SpringBootConsoleАппликация.java – это основной класс для приложения консоли Spring Boot.

Мы используем Весенний @SpringBootApplication аннотация на нашем основном классе, чтобы включить автоматическую конфигурацию.

Этот класс также реализует Весенний CommandLineRunner интерфейс . CommandLineRunner это простой интерфейс Spring Boot с запустить метод. Весенняя загрузка автоматически позвонит в запустить метод всех бобов, реализуя этот интерфейс после загрузки контекста приложения.

Вот наше консоль приложение:

@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]);
        }
    }
}

Мы должны также указать spring.main.web-application-type-NONE Весенний . Это свойство будет явно информировать Весна, что это не веб-приложение.

Когда мы выполняем SpringBootConsoleАппликация , мы можем видеть следующие зарегистрированы:

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

Обратите внимание, что запустить метод называется после загрузки контекста приложения, но перед выполнением основные метод завершен.

Большинство консольных приложений будет иметь только один класс, который реализует CommandLineRunner . Если приложение имеет несколько классов, которые реализуют CommandLineRunner , порядок исполнения может быть указан с помощью Весенняя @Order аннотация .

4. Заключение

В этой статье мы обобщили, как создать простое консольное приложение с помощью Spring Boot.

Полный исходный код наших примеров здесь, как всегда, более на GitHub .