@EnableWebMvc介绍和使用详细demo(最新推荐)
作者:Java高手马保国
@EnableWebMvc介绍和使用详细demo
@EnableWebMvc是什么
@EnableWebMvc 是 Spring MVC 中的一个注解,它用于启用 Spring MVC 框架的基本功能,以便你可以使用 Spring MVC 提供的特性来处理 Web 请求。
通常情况下,在基于 Spring Boot 的应用中,并不需要显式地使用 @EnableWebMvc,因为 Spring Boot 已经默认自动配置了 Spring MVC。但是,如果你想要自定义 Spring MVC 的配置,或者禁用 Spring Boot 对 Spring MVC 的自动配置,那么你就需要显式地使用 @EnableWebMvc。
使用示例
下面是一个简单的使用 @EnableWebMvc 的示例:
import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration @EnableWebMvc public class WebMvcConfig implements WebMvcConfigurer { // 配置静态资源处理 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); } // 配置视图解析器 @Override public void configureViewResolvers(ViewResolverRegistry registry) { registry.jsp("/WEB-INF/views/", ".jsp"); } // 其他自定义的 Spring MVC 配置 }
在上面的示例中,@EnableWebMvc 注解被添加到了一个 @Configuration 注解的类上,表示要启用 Spring MVC 框架。在这个类中,你可以添加自定义的 Spring MVC 配置,例如添加拦截器、视图解析器、消息转换器等。
需要注意的是,使用 @EnableWebMvc 会完全覆盖 Spring Boot 对 Spring MVC 的自动配置,因此如果你使用了 @EnableWebMvc,就需要自己配置 Spring MVC 的全部内容,包括视图解析器、资源处理、异常处理等。通常情况下,只有在需要非常精细的控制 Spring MVC 配置时才会使用 @EnableWebMvc。
总结:
使用@EnableWebMvc注解,可以开启Spring MVC 框架的基本功能,你可以使用 Spring MVC 提供的特性来处理 Web 请求,同时会完全覆盖 Spring Boot 对 Spring MVC 的自动默认配置。
补充:
什么是spring.factories文件,它的作用是什么
spring.factories是什么
spring.factories是 Spring Framework中一个重要的配置文件,主要用于自动化组件装配和加载。它是 Spring Boot自动配置的核心组成部分,允许将不同的自动配置类和后处理器集中在一起,便于 Spring Boot 在运行时自动进行组件装配。此外,这个文件可以通过手动编写或由 Spring Boot 应用自动生成的方式来扩展应用配置。
在 Spring 框架中,spring.factories
文件作为 Spring 的 Service Provider Interface(SPI)机制的一部分,用于提供接口实现类的元数据信息。当 Spring 启动时,它会读取 META-INF/spring.factories
目录下的文件,从中获取包含多个 bean 定义的键值对列表,然后根据这些定义实例化相应的对象。
文件格式
spring.factories文件采用键值对的形式,键是自动配置类的全限定名,值是该自动配置类所对应的配置类的全限定名。例如:
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration=org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration
工作原理
Spring Boot启动时,它会扫描classpath下所有的spring.factories文件,加载其中的自动配置类,并将它们注入到Spring ApplicationContext中,使得项目能够自动运行。
使用场景
自动配置第三方库:SpringBoot本身并没有提供对所有第三方库的自动配置,我们可以通过spring.factories文件来实现对第三方库的自动配置。
自定义自动配置:我们可以通过spring.factories文件来实现自定义的自动配置,以满足项目的特殊需求。
总结
spring.factories文件是Spring Boot项目中的一个重要配置文件,它可以用于自动配置第三方库和自定义自动配置。通过使用spring.factories文件,我们可以简化项目的配置,提高项目的开发效率。
到此这篇关于@EnableWebMvc介绍和使用详细demo的文章就介绍到这了,更多相关@EnableWebMvc使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!