SpringBoot项目提示-Initializing Spring DispatcherServlet ‘dispatcherServlet‘ 的解决办法

一、背景

运行SpringBoot项目后,使用Postman测试接口时,Idea的控制台有如下提示:

Initializing Spring DispatcherServlet 'dispatcherServlet'
Initializing Servlet 'dispatcherServlet'
Completed initialization in 1 ms

二、原因分析

spring boot load-on-startup默认值是-1,项目启动时,默认不会初始化DispatcherServlet,也就是不会调用Servlet接口的init()方法。

三、解决方法

spring.mvc.servlet.load-on-startup设置成0或正整数,项目启动时执行初始化即可解决。

方法1、在application.properties配置文件中添加如下配置

spring.mvc.servlet.load-on-startup=1

方法2、在application.yml配置文件中添加如下配置

spring:
  mvc:
    servlet:
      load-on-startup: 1

方法1和方法2等价于在 Spring MVC 项目的web.xml文件中添加如下配置:

  <servlet>
  	<servlet-name>dispatcherservlet-name>
  	<servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
  	<async-supported>trueasync-supported>
  	<load-on-startup>8load-on-startup>
  servlet>
  <servlet-mapping>
  	<servlet-name>dispatcherservlet-name>
  	<url-pattern>/url-pattern>
  servlet-mapping>

写在最后

重新运行项目后,调用接口,Idea控制台已无dispatcherServlet的相关提示,解决成功。

你可能感兴趣的:(Java,SpringBoot,spring,spring,boot,intellij-idea)