首页 > 其他分享 >WebMvcConfigurerAdapter

WebMvcConfigurerAdapter

时间:2023-12-23 23:32:00浏览次数:32  
标签:Spring Boot WebMvcConfigurerAdapter WebMvcConfigurer public resources

WebMvcConfigurerAdapter 是 Spring Boot 1.x 版本中用于自定义 Spring MVC 配置的一个类。但在 Spring Boot 2.x 之后,这个类已经被标记为废弃,并推荐使用 WebMvcConfigurer 接口来替代。

WebMvcConfigurerAdapter 提供了默认的实现,使得你可以在无需扩展 WebMvcConfigurer 接口的情况下,覆盖默认的配置。其工作方式是,当你在类路径下扫描到 WebMvcConfigurerAdapter 时,Spring Boot 会自动调用它,并应用其配置。

以下是一个简单的 WebMvcConfigurerAdapter 的示例:

java复制代码
 @Configuration  
 
 public class MyWebMvcConfigurerAdapter extends WebMvcConfigurerAdapter {  
 
   
 
     @Override  
 
     public void addResourceHandlers(ResourceHandlerRegistry registry) {  
 
         registry.addResourceHandler("/resources/**")  
 
             .addResourceLocations("/public-resources/");  
 
     }  
 
 }

然而,从 Spring Boot 2.x 开始,为了更好地支持 Java 配置和减少样板代码,WebMvcConfigurerAdapter 被标记为废弃,并推荐使用 WebMvcConfigurer 接口。以下是使用 WebMvcConfigurer 的相同示例:

java复制代码
 @Configuration  
 
 public class MyWebMvcConfigurer implements WebMvcConfigurer {  
 
   
 
     @Override  
 
     public void addResourceHandlers(ResourceHandlerRegistry registry) {  
 
         registry.addResourceHandler("/resources/**")  
 
             .addResourceLocations("/public-resources/");  
 
     }  
 
 }

这两种方式的主要区别在于 WebMvcConfigurerAdapter 是通过继承实现的配置,而 WebMvcConfigurer 是通过接口实现的配置。由于继承在 Java 中可能会导致一些问题(例如单一责任原则),因此推荐使用接口来配置。

标签:Spring,Boot,WebMvcConfigurerAdapter,WebMvcConfigurer,public,resources
From: https://blog.51cto.com/u_16375957/8947923

相关文章