我阅读了有关@EnableWebMvc
的Javadoc文档。
但是我不明白这个注解的含义?
你能否清晰地解释一下呢?
我阅读了有关@EnableWebMvc
的Javadoc文档。
但是我不明白这个注解的含义?
你能否清晰地解释一下呢?
欢迎来到Spring的世界。在理解注释@EnableWebMVC
的含义之前,您需要了解一些东西。
传统上,Spring支持两种类型的配置:
这些注释本质上是作为MVC Java Config Design的一部分实现的。
考虑一个简单的类:
@EnableWebMvc
@Configuration
public class WebConfig {
}
没有基类,看不到Spring Bean... 嗯...
让我们再深入一点:
好吧,稍微再让你无聊一点,它提供了很多东西,比如:
还有一些其他的。
啊哈哈...但是你的应用程序可以使用它,对吧。那么,魔法在哪里呢..?
@EnableWebMVC <---- 背后是什么..?
这就是它背后的东西:
@Retention(RetentionPolicy.RUNTIME)
@Import(DelegatingWebMvcConfiguration.class)
@Target(ElementType.TYPE)
public @interface EnableWebMvc {
}
看,现在你可能会认为使用@EnableWebMVC
是多么无意义。你更愿意:
@Bean
和其他可用方法您可以阅读以下内容:
希望能对您有所帮助。 :)
当我们想要构建一个Spring Web MVC项目时,需要从WebMvcConfigurationSupport
中添加必要的导入。因此,在基于Java的配置中,应使用@EnableWebMvc
。只有一个@Configuration
类可以有@EnableWebMvc
。
@EnableWebMvc
,那么@Controller
bean只是一个普通的bean,而不是控制器。无论是通过组件扫描还是通过@Bean
方法注册,都适用。 - Andy Wilkinson@EnableWebMvc
。除非您想关闭Boot关于如何配置Spring MVC的所有观点,否则您不应在应用程序中使用@EnableWebMvc
。 - Andy Wilkinson