首页 > 其他分享 >SpringBoot2.x系列教程14--SpringBoot特性之SpringApplication详解

SpringBoot2.x系列教程14--SpringBoot特性之SpringApplication详解

时间:2022-12-23 15:02:10浏览次数:37  
标签:INFO 03 14 17 -- --- 12984 SpringBoot2 main


SpringBoot系列教程14--SpringBoot特性之SpringApplication详解

作者:一一哥

从本章节开始,我们将深入详细的介绍Spring Boot,通过阅读本节你可以了解到需要使用和定制的核心特性。

一.SpringBoot特性

1.SpringApplication简介

在SpringBoot项目中,SpringApplication为我们提供了一种启动程序的快捷方式,用于从main()方法启动Spring应用。大多数情况下,我们只需要把启动任务委托给SpringApplication.run静态方法,就可以启动项目:

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

当应用启动时,你应该会看到类似下面的东西:

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

2020-03-17 11:47:42.726 INFO 12984 --- [ main] com.yyg.boot.FeatureApplication : Starting FeatureApplication on YYG39C2 with PID 12984 (F:\onlineWorks\boot-demos\demo04\target\classes started by yyg in F:\onlineWorks)
2020-03-17 11:47:42.733 INFO 12984 --- [ main] com.yyg.boot.FeatureApplication : No active profile set, falling back to default profiles: default
2020-03-17 11:47:46.019 INFO 12984 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2020-03-17 11:47:46.044 INFO 12984 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2020-03-17 11:47:46.044 INFO 12984 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.31]
2020-03-17 11:47:46.510 INFO 12984 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2020-03-17 11:47:46.510 INFO 12984 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 3642 ms
2020-03-17 11:47:47.111 INFO 12984 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2020-03-17 11:47:47.568 INFO 12984 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2020-03-17 11:47:47.572 INFO 12984 --- [ main] com.yyg.boot.FeatureApplication : Started FeatureApplication in 7.698 seconds (JVM running for 8.742)

默认情况下会显示INFO级别的日志信息,包括一些相关的启动详情,比如启动应用的用户等信息。

2.启动失败

SpringBoot中为我们提供了很多的FailureAnalyzer(可以自定义)类,在SpringBoot项目启动失败时,SpringBoot就会为我们展示一个特定的错误信息,以及展示具体的解决该问题的动作思路。

例如,如果在8080端口启动一个web应用,而该端口已被占用,那你应该可以看到类似如下的内容:

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

Description:

Web server 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.

2020-03-17 12:03:00.376 DEBUG 11128 --- [ main] ConfigServletWebServerApplicationContext : Closing org.springframework.boot.web.servlet.
context.AnnotationConfigServletWebServerApplicationContext@233c0b17, started on Tue Mar 17 12:02:57 IRKT 2020
2020-03-17 12:03:00.380 INFO 11128 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTas
kExecutor'

如果没有可用于处理该异常的失败分析器(failure analyzers),你需要展示完整的auto-configuration报告,以便更好的查看出问题的地方。这时候我们可以启用​​org.springframework.boot.autoconfigure.logging.AutoConfigurationReportLoggingInitializer​​的debug属性,或开启DEBUG日志级别。

例如,使用java -jar运行应用时,可以使用如下命令启用debug属性:

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

3.自定义Banner

之前的章节中已经详细介绍过了,本章节就不再介绍了,具体请参考:

SpringBoot系列教程10--小花样之SpringBoot配置自定义Banner

标签:INFO,03,14,17,--,---,12984,SpringBoot2,main
From: https://blog.51cto.com/u_7044146/5965746

相关文章

  • SpringBoot2.x系列教程13--SpringBoot开发利刃之热部署原理及最优实践
    SpringBoot系列教程13--SpringBoot开发利刃之热部署原理及最优实践作者:一一哥一.SpringBoot的热部署1.概述SpringBoot为开发者提供了一个名为spring-boot-devtools的额外工......
  • SMBus 协议
     SMBus是I2C协议的一个子集SMBus:SystemManagementBus,系统管理总线。SMBus最初的目的是为智能电池、充电电池、其他微控制器之间的通信链路而定义的。SMBus也......
  • SpringBoot2.x系列教程16--Web开发02之静态资源配置
    SpringBoot系列教程16--Web开发02之静态资源配置作者:一一哥在上一章节中,我们讲解了如何在SpringBoot项目中使用Thymeleaf模板,接下来我们在上一节的案例demo05中讲解如何使......
  • SpringBoot2.x系列教程12--SpringBoot自动配置原理探析
    SpringBoot系列教程12--SpringBoot自动配置原理探析作者:一一哥一.SpringBoot自动配置概述1.概述在Spring4.x之后,提供了一个按条件配置Bean的功能,并且结合“习惯优于配置”......
  • 神器,音乐加密解锁
    支持常见的音乐软件加密格式解锁,一键拖拽 UnlockMusic记得F..Q ......
  • C# DataTable和List之间相互转换
    ​ 目录前言想法两者的区别个人想法完整代码方式一方式二类型转换 前言最近在捣鼓DataTable,弄到了类型转换,既然弄了,那就整个记录。有不足之处,请多多指教。......
  • SpringBoot2.x系列教程10--小花样之SpringBoot配置自定义Banner
    SpringBoot系列教程10--小花样之SpringBoot配置自定义Banner作者:一一哥一.SpringBoot常用配置本章节主要介绍一下SpringBoot中的一些常用配置,比如:自定义Banner、配......
  • Day01_04_Linux_Ubuntu教程之安装配置 Java 开发环境
    一.Linux安装配置Java开发环境1.概述此处在Ubuntu18.04系统下以jdk-8u211-linux-x64.tar.gz.zip为例2.下载地址​​http://www.oracle.com/technetwork/java/javase/......
  • C# 使用QRCoder生成二维码
    简介最近瞎琢磨的一些小东西,也算是一个比较完整的二维码生成了,上手也很快,可自行扩展。现在生成二维码有多种方式,我使用的是QRCoder。第一步安装Nuget包QRCoder也可以......
  • 为Emacs配置Solarized主题
    如何给Emacs配置solarized主题;首先要下载主题,网址:https://github.com/sellout/emacs-color-theme-solarized将文件夹拷贝到.emacs.d目录后,在init.el中添加:(add-to-list'c......