如何通过spring boot配置'dispatcherServlet'在启动时加载?

Pho*_*Yip 8 java spring spring-boot

spring-boot-starter-parent用作父项并添加spring-boot-starter-web为依赖项.

通过添加@SpringBootApplication注释,它可以工作.

DispatcherServlet需要初始化

     Initializing servlet 'dispatcherServlet'
     FrameworkServlet 'dispatcherServlet': initialization started
     Using MultipartResolver [org.springframework.web.multipart.support.StandardServletMultipartResolver@745f40ac]
     Unable to locate LocaleResolver with name 'localeResolver': using default [org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver@219fc57d]
     Unable to locate ThemeResolver with name 'themeResolver': using default [org.springframework.web.servlet.theme.FixedThemeResolver@7b4bd6bd]
     Unable to locate RequestToViewNameTranslator with name 'viewNameTranslator': using default [org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@71ccfa36]
     Unable to locate FlashMapManager with name 'flashMapManager': using default [org.springframework.web.servlet.support.SessionFlashMapManager@43f3e6a9]
     Published WebApplicationContext of servlet 'dispatcherServlet' as ServletContext attribute with name [org.springframework.web.servlet.FrameworkServlet.CONTEXT.dispatcherServlet]
     FrameworkServlet 'dispatcherServlet': initialization completed in 37 ms
Run Code Online (Sandbox Code Playgroud)

我希望我可以将它的loadonstartup设置为1,并且不想使用这个烦人的BeanNameUrlHandlerMapping东西,它拒绝了所有内容,我不打算使用它.

o.s.w.s.h.BeanNameUrlHandlerMapping      : Rejected bean name 'contextAttributes': no URL paths identified
Run Code Online (Sandbox Code Playgroud)

我阅读了java-doc BeanNameUrlHandlerMapping:

这是org.springframework.web.servlet.DispatcherServlet使用的默认实现,以及org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping(在Java 5及更高版本上).或者,SimpleUrlHandlerMapping允许以声明方式自定义处理程序映射.

就是这样,我只想改变这两件事:

  1. setLoadonStartup
  2. 不要使用BeanNameUrlHandlerMapping

除此之外,我为其配置的其他东西非常棒,我想保留它.

感谢您提供任何帮助.

Bal*_*Bal 8

对旧帖子的新回复.似乎这对于更新版本的Spring Boot更容易.只需添加该属性spring.mvc.servlet.load-on-startup=1对我有用.

  • 此解决方案适用于 `@RestController`,但不适用于控制器重定向到视图。 (2认同)