Spring MVC 不适用于 java 配置(源服务器未找到目标资源的当前表示..)

Spring MVC does not work with java configurations (the source server did not find the current representation for the target resource..)

我尝试使用一个简单的控制器通过 Eclipse ide 在 tomcat 中创建一个简单的 Spring MVC 和 运行:

    @Controller
    public class HomeController {
    
        @RequestMapping("/home")
        public String helloWorld(Model model) {
            model.addAttribute("message", "home university!");
            return "home";
        }
    }

我的其他配置:

网络初始化程序:

public class WebAppInitializer implements WebApplicationInitializer{

    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
        context.register(MvcConfig.class, ServiceConfig.class,  AspectConfig.class, DaoConfig.class, DataSourceConfig.class);
        context.setServletContext(servletContext);
     
        ServletRegistration.Dynamic dispatcher = servletContext.addServlet("dispather", new DispatcherServlet(context));
        dispatcher.setLoadOnStartup(1);
        dispatcher.addMapping("/");
    }
}

MvcSpringJavaConfig:

public class MvcConfig {
   
    @Configuration
    @ComponentScan(basePackages = "img.imaginary.controller")
    @EnableWebMvc
    public class MvcConfiguration {

        @Bean
        public ViewResolver getViewResolver() {
            InternalResourceViewResolver resolver = new InternalResourceViewResolver();
            resolver.setPrefix("/WEB-INF/views/");
            resolver.setSuffix(".jsp");
            return resolver;
        }
    }
}

结构:

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                                http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
            id="WebApp_ID" version="3.1">
   
</web-app>

我的pom.xml: pom.xml

当 tomcat 启动并且我尝试在浏览器中打开该应用程序时,我得到 404 状态和描述:

源服务器没有找到目标资源的当前表示或不想公开它的存在。

我尝试更改控制器和 web.xml 以及其他配置,但我总是得到这个结果

为了让我的简单家庭控制器正确启动,我不知道我缺少什么

您应该将 @Configuration 添加到 MvcConfig class。也可以参考 this:

Any nested configuration classes must be declared as static.

MvcConfiguration class 必须是静态的。