• Spring Boot系列(6)——Configurer和Customizer


    〇、什么是Configurer和Customizer

      1.Configurer

      xxxConfigurer接口是一个配置器。实现该接口,编写具体的方法,来扩展Spring Boot中的配置。

      2.Customizer

      xxxCustomizer接口是一个定制器。一般定制器只有一个方法,通过这个方法来修改Spring Boot的配置。

    一、配置器之WebMvcConfigurer,扩展视图控制器

      注意:添加@Configuration注解,标注该类为配置类。

            当配置器中的配置生效后,Spring Boot项目会既保留了自动配置,同时也使用我们扩展的配置。

     1 /*
     2 * 实现WebMvcConfigurer接口       ——>  WebMvc配置器
     3 * 实现其中的addViewControllers( )方法  ——>  添加视图控制器
     4 * */
     5 @Configuration
     6 public class MvcConfig implements WebMvcConfigurer {
     7 
     8     //View Controllers
     9     @Override
    10     public void addViewControllers(ViewControllerRegistry registry) {
    11         //当访问“/、/index”时,就转到login视图
    12         registry.addViewController("/").setViewName("login");
    13         registry.addViewController("/index").setViewName("login");
    14     }
    15 }
    
    

    二、定制器之WebServerFactoryCustomizer,修改服务器访问端口

    1.WebServerFactoryCustomizer中只有一个方法(一般定制器都是只有一个方法)

    实现该接口,通过该方法就可以修改服务器的一些配置参数

    1 @FunctionalInterface
    2 public interface WebServerFactoryCustomizer<T extends WebServerFactory> {
    3     void customize(T factory);
    4 }

    2.我们通过向容器添加组件的方式修改服务器访问端口。

    以下代码就类似于在全局配置文件在中编写 server.port=8081

     1 //配置类
     2 @Configuration
     3 public class Beans {
     4 
     5     //向容器添加组件
     6     @Bean
     7     public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer(){
     8         //这个factory就相当于Servlet容器
     9         return new WebServerFactoryCustomizer<ConfigurableWebServerFactory>() {
    10             @Override
    11             public void customize(ConfigurableWebServerFactory factory) {
    12                 factory.setPort(8081);
    13             }
    14         };
    15     }
    16 }
  • 相关阅读:
    公式编辑器mathtype中一些符号显示方框的解决方法
    I got my first job
    我的第二个面试通知
    清空visual studio2010的查找历史
    King Back
    IIS中“使用 XSL 样式表无法查看 XML 输入”问题的解决
    JDBC 各种连接方式[转载]
    力扣每日刷题(1)
    力扣每天刷题(3)
    力扣每天刷题(2)
  • 原文地址:https://www.cnblogs.com/Drajun/p/12261475.html
Copyright © 2020-2023  润新知