在测试环境中进行测试的报错:
排查了之后发现:
只需要取消非web环境下的@EnableWebMvc注解就可以了
原因:
基本情况(项目配置):在配置mvc环境中,使用了springConfig配置spring,而springMvcConfig来配置相应的springMvc的环境。
出现错误 "Caused by: java.lang.IllegalStateException: No ServletContext set" 是因为在没有正确的Servlet环境的情况下尝试配置Web MVC。这通常会发生在非Web环境中尝试使用@EnableWebMvc
注解。
在你的配置类 springConfig
中,你使用了 @EnableWebMvc
注解,这个注解的作用是启用Spring MVC的Web配置。然而,这个注解适用于Web应用程序的上下文,而不适用于非Web应用程序或测试环境。
如果你的应用程序是一个标准的Web应用程序,你需要确保这个配置类只在Web应用程序上下文中生效。通常,Web配置类需要在DispatcherServlet
上下文中才能正确工作,这是Web MVC的核心组件。而在非Web环境(如测试中)使用@EnableWebMvc
注解会导致没有正确的Servlet环境,从而引发异常。