- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我浏览了一些教程,了解到 ApplicationContext
负责管理在 spring 应用程序中创建的所有 beans。当要将 WAR 部署到 servlet 容器时,必须扩展 SpringBootServletInitializer
并且从文档中可以看出一个自以为是的 WebApplicationInitializer,用于从传统 WAR 部署运行 SpringApplication。将应用上下文中的 Servlet、Filter 和 ServletContextInitializer bean 绑定(bind)到服务器。
谁能帮我理解上面这行的意思? ServletContext 初始化程序与 SpringBootServletInitializer 有何关系?为什么 servlet 容器不能自己创建 ServletContext?如果是这种情况,我们如何在使用 SpringBootServletInitializer 后获取 Tomcat 以编程方式创建的 SpringApplication 的 ServletContext 引用?
最佳答案
当您运行嵌入式应用程序服务器时,Web 应用程序使用静态主入口点。主入口点通常如下所示:
public static void main(final String[] args) {
SpringApplication.run(Application.class, args);
}
或者这个:
public static void main(final String[] args) {
SpringApplication springApplication = new SpringApplicationBuilder(Application.class)
.properties("spring.main.banner-mode=log")
.build();
springApplication.run(args);
}
两者都使用 SpringApplication.run 方法来扫描、配置和运行 Web 应用程序。
static main 对应用服务器没有任何意义。相反,我们添加了一个 SpringBootServletInitializer 实现,它依次实现了 WebApplicationInitializer 接口(interface)。
Interface to be implemented in Servlet 3.0+ environments in order to configure the ServletContext programmatically -- as opposed to (or possibly in conjunction with) the traditional web.xml-based approach.
Implementations of this SPI will be detected automatically by SpringServletContainerInitializer, which itself is bootstrapped automatically by any Servlet 3.0 container. See its Javadoc for details on this bootstrapping mechanism.
SpringServletContainerInitializer 由 Servlet 3.0+ 容器引导并执行 WebApplicationInitializer.onStartup(ServletContext context) 方法来配置 ServletContext。
关于spring - SpringBootServletInitializer在WAR部署中的重要性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57919717/
在 GGally::ggpair 的最新版本中,相关值用 * 显示,如下图所示。我想删除 *s 并保留相关值。 我看过 ggpairs 代码,但它对我来说并不明显。 GGally::ggpairs(d
在 GGally::ggpair 的最新版本中,相关值用 * 显示,如下图所示。我想删除 *s 并保留相关值。 我看过 ggpairs 代码,但它对我来说并不明显。 GGally::ggpairs(d
我正在尝试使用在 weka 库中实现的 SVM 分类来对一些数据进行分类。我的分类代码如下所示: BufferedReader reader = new BufferedReader(new File
我已经为 jdbm 构建了 Lucene Directory 实现,一个嵌入式Java数据库。 Directory API 的一部分是与"file"修改日期相关的两个方法:touchFile 和 fi
我的任务是编写一个函数,将文件中单词的长度与整数进行比较,然后返回所有符合该大小的单词。我得到的答案几乎相同,除了我没有像他们那样包含 string.strip() : def get_words(d
xgb.importance 命令返回由 f score 衡量的特征重要性图。 这个f分数代表什么,它是如何计算的? 输出: Graph of feature importance 最佳答案 这是一个
有一个二元分类问题:如何获得 Ranger 模型变量的 Shap 贡献? 示例数据: library(ranger) library(tidyverse) # Binary Dataset df %
如今 servlet 在哪里使用? 我知道 servlet 是在面向请求/响应的服务器(例如支持 Java 的 Web 服务器)中运行的模块。但是现在我没有听到任何人使用 servlet。这可能是因为
我是一名优秀的程序员,十分优秀!