在本教程中,我们将快速介绍 SpringBootServletInitializer。
这是 WebApplicationInitializer 的扩展,它运行来自部署在 Web 容器上的传统 WAR 存档的 SpringApplication。此类将 Servlet、Filter 和 ServletContextInitializer bean 从应用程序上下文绑定到服务器。
pom.xml
src
├───main
│ ├───java
│ │ └───com.dailycodebuffer.example.SpringBootServlet
│ │ └───SpringBootServletApplication.java
│ │
│ │
│ │
│ └───resources
└───test
└───java
生成可部署的 war 文件的第一步是提供一个 SpringBootServletInitializer
子类并覆盖其 configure
方法。这样做会利用 Spring Framework 的 Servlet 3.0 支持,并允许您在应用程序由 servlet 容器启动时对其进行配置。通常,您应该更新应用程序的主类以扩展 SpringBootServletInitializer
,如以下示例所示:
@SpringBootApplication
public class SpringBootServletApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SpringBootServletApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(
SpringApplicationBuilder builder) {
return builder.sources(SpringBootServletApplication.class);
}
@RestController
public static class SpringBootServletController {
@GetMapping(value = "/", produces = MediaType.TEXT_PLAIN_VALUE)
public String handler() {
return "Hello there";
}
}
}
下一步是更新您的构建配置,以便您的项目生成一个 war 文件而不是 jar 文件。如果您使用 Maven 和 spring-boot-starter-parent
(为您配置 Maven 的 war 插件),您只需修改 pom.xml
将打包更改为 war,如下所示:
<packaging>war</packaging>
在本文中,我们介绍了 SpringBootServletInitializer 并演示了如何使用它从经典 WAR 存档中运行 Spring Boot 应用程序。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.dailycodebuffer.com/introduction-to-the-springbootservletinitializer/
内容来源于网络,如有侵权,请联系作者删除!