程序员社区

SpringBoot2----定制化原理

定制化原理

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

定制化的常见方式

  1. 修改配置文件;

  2. xxxxxCustomizer;
    在这里插入图片描述

  3. 编写自定义的配置类 xxxConfiguration;+ @Bean替换、增加容器中默认组件;视图解析器

自定义异常视图解析器的演示:在这里插入图片描述

  1. Web应用 编写一个配置类实现 WebMvcConfigurer 即可定制化web功能;+ @Bean给容器中再扩展一些组件
@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,所有规则全部自己重新配置; 实现定制和扩展功能
    在这里插入图片描述
 /**
     * 全面接管springmvc时,定义静态资源行为  
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
       /**
         * 访问  /aa/** 所有请求都去 classpath:/static/ 下面进行匹配
         */
        registry.addResourceHandler("/aa/**")
               .addResourceLocations("classpath:/static/");
    }

原理分析套路

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

赞(0) 打赏
未经允许不得转载:IDEA激活码 » SpringBoot2----定制化原理

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区