Spring Boot: класс SpringApplication

Класс SpringApplication предоставляет удобный способ начальной загрузки приложения Spring, которое запускается из метода main(). Во многих ситуациях вы можете делегировать статический метод SpringApplication.run, как показано в следующем примере:

public static void main(String[] args) {
    SpringApplication.run(MySpringConfiguration.class, args);
}

Когда ваше приложение запускается, вы должны увидеть что-то похожее на следующий результат:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::   v2.2.4.RELEASE

2019-04-31 13:09:54.117  INFO 56603 --- [           main] o.s.b.s.app.SampleApplication            : Starting SampleApplication v0.1.0 on mycomputer with PID 56603 (/apps/myapp.jar started by pwebb)
2019-04-31 13:09:54.166  INFO 56603 --- [           main] ationConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@6e5a8246: startup date [Wed Jul 31 00:08:16 PDT 2013]; root of context hierarchy
2019-04-01 13:09:56.912  INFO 41370 --- [           main] .t.TomcatServletWebServerFactory : Server initialized with port: 8080
2019-04-01 13:09:57.501  INFO 41370 --- [           main] o.s.b.s.app.SampleApplication            : Started SampleApplication in 2.992 seconds (JVM running for 3.658)

По умолчанию отображаются сообщения журнала INFO, включая некоторые важные сведения о запуске, такие как пользователь, запустивший приложение. Если вам нужен уровень журнала, отличный от INFO, вы можете поменять его сами. Версия приложения определяется с помощью версии реализации из пакета основного класса приложения. Ведение журнала информации о запуске можно отключить, установив для параметра spring.main.log-startup-info значение false. Это также отключит ведение журнала активных профилей приложения.

Чтобы добавить дополнительное ведение журнала во время запуска, вы можете переопределить logStartupInfo(boolean) в подклассе SpringApplication.

Ошибка запуска

Если ваше приложение не запускается, зарегистрированные FailureAnalyzers получают возможность предоставить специальное сообщение об ошибке и конкретное действие для устранения проблемы. Например, если вы запускаете веб-приложение на порту 8080, и этот порт уже используется, вы должны увидеть что-то похожее на следующее сообщение:

***************************
APPLICATION FAILED TO START
***************************

Description:

Embedded servlet container failed to start. Port 8080 was already in use.

Action:

Identify and stop the process that's listening on port 8080 or configure this application to listen on another port.

Spring Boot предоставляет множество реализаций FailureAnalyzer, и вы можете добавить свою собственную.

Если никакие анализаторы ошибок не могут обработать исключение, вы все равно можете отобразить полный отчет об условиях, чтобы лучше понять, что пошло не так. Для этого необходимо включить свойство отладки или включить ведение журнала DEBUG для org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener.

Например, если вы запускаете приложение с помощью java -jar, вы можете включить свойство отладки следующим образом:

$ java -jar myproject-0.0.1-SNAPSHOT.jar --debug


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки