EnableWebMvc注释含义

时间:2013-10-10 08:57:08

标签: java spring spring-mvc annotations

我读了关于@EnableWebMvc的javadoc。

但我不明白这个注释是什么意思?

你能清楚地解释它吗?

4 个答案:

答案 0 :(得分:90)

当您使用Java代码(而不是XML)来配置Spring应用程序时,@EnableWebMvc用于启用Spring MVC。如果您还不熟悉Spring对Java配置的支持,this is a good place to start

@EnableWebMvc相当于XML中的<mvc:annotation-driven />。它支持@Controller - 带注释的类,使用@RequestMapping将传入请求映射到某个方法。您可以阅读有关默认情况下配置内容的详细信息,以及如何在reference documentation中自定义配置。

答案 1 :(得分:42)

欢迎来到春天的世界。在了解注释@EnableWebMVC的含义之前,您需要了解一些事项。

Spring传统上支持两种类型的配置:

这些注释基本上是作为 MVC Java Config Design 的一部分实现的。

考虑一个简单的类:

@EnableWebMvc
@Configuration
public class WebConfig {
}

没有基类。看不到春天的豆子......嗯..

让我们再说一点:

  • 这实际上提供了什么..?

嗯,为了让你多一点,它提供了很多东西:

  1. @MVC request processing
  2. Global JSR-303 validator
  3. 还有一些。

    Ahahah ......但你的应用程序正确使用它。那么,哪里有魔力..?

    @EnableWebMVC <---- What's behind this..?

    这是它的背后:

    @Retention(RetentionPolicy.RUNTIME)
    @Import(DelegatingWebMvcConfiguration.class)
    @Target(ElementType.TYPE)
    public @interface EnableWebMvc {
    }
    

    看,现在你会认为使用@EnableWebMVC是多么无意义。你愿意吗:

    您可以阅读:

    希望它有所帮助。 :)

答案 2 :(得分:1)

将此批注添加到@Configuration类从WebMvcConfigurationSupport导入Spring MVC配置

答案 3 :(得分:1)

当我们想构建一个Spring Web MVC项目时,我们需要从WebMvcConfigurationSupport添加必要的导入。因此,我们应该在基于Java的配置中使用@EnableWebMvc。只有一个@Configuration类可以拥有@EnableWebMvc