哪个 Spring 初始值设定项是首选?

Which Spring initializer is preferred?

我正在研究 Spring MVC。帮我弄清楚,在什么情况下

AbstractAnnotationConfigDispatcherServletInitializer,

AbstractContextLoaderInitializer,

AbstractDispatcherServletInitializer,

AbstractReactiveWebInitializer

用于初始化。文档中没有详细说明每个 class 的用途。

AbstractAnnotationConfigDispatcherServletInitializer “注册一个 DispatcherServlet 并使用基于 Java 的 Spring 配置。” [1]

AbstractContextLoaderInitializer “在 servlet 上下文中注册一个 ContextLoaderListener。” [2]

AbstractDispatcherServletInitializer “在 servlet 上下文中注册一个 DispatcherServlet。” [3]

AbstractReactiveWebInitializer“在 Servlet 容器上安装 Spring 响应式 Web 应用程序。” [4]

AbstractAnnotationConfigDispatcherServletInitializer 扩展 AbstractDispatcherServletInitializer 扩展 AbstractContextLoaderInitializer.

如果您确实需要实现这些 类 中的任何一个,您应该从最具体的一个 (AbstractAnnotationConfigDispatcherServletInitializer) 开始,并且只在需要时实现父级。