83

我阅读了有关@EnableWebMvc.

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

你能解释清楚吗?

4

4 回答 4

103

当您使用 Java 代码(而不是 XML)来配置您的 Spring 应用程序时,@EnableWebMvc用于启用 Spring MVC。如果您还不熟悉 Spring 对 Java 配置的支持,那么这是一个很好的起点

@EnableWebMvc相当于<mvc:annotation-driven />在 XML 中。它支持用于将传入请求映射到特定方法的带注释的@Controller类。您可以在参考文档@RequestMapping中阅读有关其默认配置以及如何自定义配置的详细信息。

于 2013-10-10T09:30:46.833 回答
55

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

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

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

考虑一个简单的类:

@EnableWebMvc
@Configuration
public class WebConfig {
}

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

让我们更进一步:

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

好吧,为了让你更无聊,它提供了很多东西,比如:

  1. @MVC 请求处理
  2. 全局 JSR-303 验证器

还有一些。

啊哈...但是您的应用程序可以正确使用它。那么,魔法在哪里..?

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

这是它的背后:

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

看,现在你会认为使用@EnableWebMVC. 你会宁愿:

你可以阅读:

希望能帮助到你。:)

于 2013-10-10T11:10:21.650 回答
2

当我们想要构建一个 Spring Web MVC 项目时,我们需要添加必要的 import from WebMvcConfigurationSupport。因此,我们应该@EnableWebMvc在基于 java 的配置中使用。只有一个@Configuration类可能有@EnableWebMvc.

于 2020-05-09T09:19:37.527 回答
1

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

于 2017-12-25T15:19:15.190 回答