我读了关于@EnableWebMvc
的javadoc。
但我不明白这个注释是什么意思?
你能清楚地解释它吗?
答案 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 {
}
没有基类。看不到春天的豆子......嗯..
让我们再说一点:
嗯,为了让你多一点,它提供了很多东西:
还有一些。
Ahahah ......但你的应用程序正确使用它。那么,哪里有魔力..?
@EnableWebMVC <---- What's behind this..?
这是它的背后:
@Retention(RetentionPolicy.RUNTIME)
@Import(DelegatingWebMvcConfiguration.class)
@Target(ElementType.TYPE)
public @interface EnableWebMvc {
}
看,现在你会认为使用@EnableWebMVC
是多么无意义。你愿意吗:
@Bean
和其他可用方法您可以阅读:
希望它有所帮助。 :)
答案 2 :(得分:1)
将此批注添加到@Configuration类从WebMvcConfigurationSupport导入Spring MVC配置
答案 3 :(得分:1)
当我们想构建一个Spring Web MVC项目时,我们需要从WebMvcConfigurationSupport
添加必要的导入。因此,我们应该在基于Java的配置中使用@EnableWebMvc
。只有一个@Configuration
类可以拥有@EnableWebMvc
。