Spring Boot实际上是如何启动的?



我在Stack Overflow上讨论了这个问题- Spring实际上是如何引导的?

它讲的是Spring,我想知道Spring启动的确切过程。

如果是web.xml

  1. 在Tomcat上部署Spring Boot WAR时的执行方式
  2. 包含main()的类先执行还是扩展SpringBootServletInitializer的类先执行?什么是流动?

对于web.xml,在这里的官方文档中为旧的servlet容器创建一个可部署的war文件,它说我们需要添加一个web.xml到我们的应用程序中,并配置它通过DispatcherServlet加载ApplicationContext。我们怎么做呢?

看起来我有这样的配置,但它似乎不工作:

<servlet>
<!-- Provide a Servlet Name -->
<servlet-name>frontcontroller-dispatcher</servlet-name>
<!-- Provide a fully qualified path to the DispatcherServlet class -->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<!-- Provide a Servlet Name that you want to map -->
<servlet-name>frontcontroller-dispatcher</servlet-name>
<!-- Provide a url pattern -->
<url-pattern>/api/*</url-pattern>
</servlet-mapping>

WAR包中的main()方法不能在Tomcat容器中运行。

例如,以下部分代码

public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(UserApplication.class);
}
}

相关内容

  • 没有找到相关文章

最新更新