SpringBoot2----定制化原理

2021-11-15 14:38:33 浏览数 (1)

定制化原理

  • 定制化的常见方式
  • 原理分析套路

定制化的常见方式

  1. 修改配置文件;
  2. xxxxxCustomizer;
  1. 编写自定义的配置类 xxxConfiguration; @Bean替换、增加容器中默认组件;视图解析器

自定义异常视图解析器的演示:

  1. Web应用 编写一个配置类实现 WebMvcConfigurer 即可定制化web功能; @Bean给容器中再扩展一些组件
代码语言:javascript复制
@Configuration
public class WebConfig implements WebMvcConfigurer
{
    @Override
    public void addInterceptors(InterceptorRegistry registry)
    {
    registry.addInterceptor(new LoginHanlderIntercept()).
            //拦截任意多层路径下的所有请求,某些请求不进行拦截
            addPathPatterns("/**").
            excludePathPatterns("/","/login","/css/**","/fonts/**","/images/**","/js/**");
    }
}
  1. @EnableWebMvc WebMvcConfigurer —— @Bean 可以全面接管SpringMVC,所有规则全部自己重新配置; 实现定制和扩展功能
代码语言:javascript复制
 /**
     * 全面接管springmvc时,定义静态资源行为  
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
       /**
         * 访问  /aa/** 所有请求都去 classpath:/static/ 下面进行匹配
         */
        registry.addResourceHandler("/aa/**")
               .addResourceLocations("classpath:/static/");
    }

原理分析套路

场景starter - xxxxAutoConfiguration - 导入xxx组件 - 绑定xxxProperties – 绑定配置文件项

0 人点赞