21.包装您的生产应用程序
可执行jar可用于生产部署。由于它们是独立的,因此它们也非常适合基于云的部署。
对于其他“生产就绪”功能,例如运行状况,审计和度量标准REST或JMX端点,请考虑添加 spring-boot-actuator 。有关详细信息,请参见
第V部分“Spring Boot Actuator:生产就绪功能”。
22.接下来要阅读的内容
您现在应该了解如何使用Spring Boot和一些您应该遵循的最佳实践。您现在可以继续深入了解特定的 Spring Boot功能,或者您可以跳过并阅
读Spring Boot 的“ 生产就绪 ”方面。
第四部分。Spring Boot功能
本节深入研究Spring Boot的细节。在这里,您可以了解您可能想要使用和自定义的主要功能。如果您还没有这样做,您可能需要阅读“ 第二部
分 ” ,“入门 ”和“ 第三部分”,使用Spring Boot“ ”部分,以便您掌握基础知识。
23. SpringApplication
SpringApplication 类提供了一种方便的方法来引导从 main() 方法启动的Spring应用程序。在许多情况下,您可以委托静
态 SpringApplication.run 方法,如以下示例所示:
public static void main(String[] args) {
SpringApplication.run(MySpringConfiguration.class, args);
}
当您的应用程序启动时,您应该看到类似于以下输出的内容:
默认情况下,会显示 INFO 日志记录消息,包括一些相关的启动详细信息,例如启动应用程序的用户。如果您需要 INFO 以外的日志级别,可以进
行设置,如第26.4节“日志级别”中所述,
23.1启动失败
如果您的应用程序无法启动,则已注册 FailureAnalyzers 有机会提供专用错误消息和具体操作来解决问题。例如,如果您在端口 8080 上启动
Web应用程序并且该端口已在使用中,您应该会看到类似于以下消息的内容:
***************************
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 启用 DEBUG 日志记录。
例如,如果使用 java -jar 运行应用程序,则可以启用 debug 属性,如下所示:
$ java -jar myproject-0.0.1-SNAPSHOT.jar --debug