EnableWebMvc注释含义

问题描述 投票:65回答:3

我读了关于@EnableWebMvc的javadoc。

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

你能清楚解释一下吗?

java spring spring-mvc annotations
3个回答
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中自定义配置的详细信息。


42
投票

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

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

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

考虑一个简单的类:

@EnableWebMvc
@Configuration
public class WebConfig {
}

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

让我们再说一点:

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

好吧,为了让你多一点,它提供了很多东西,如:

  1. @MVC request processing
  2. Global JSR-303 validator

还有一些。

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

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

这背后是:

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

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

你可以阅读:

希望能帮助到你。 :)


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.