SpringBoot修改配置

简介: Spring修改配置的方式有以下几种:1.修改配置文件 首先清楚直接能在SpringBoot配置文件中修改的属性,必须是自动配置类绑定在配置文件类中的属性。如果自动配置类根本就没有绑定配置文件类,那么SpringBoot配置文件中无法直接修改。2.自定义组件绑定了配置类的依赖类可以直接去通过配置文件修改,但是有些依赖类并没有绑定配置文件类,这样就不能通过SpringBoot的配置文件去直接修改配置。

Spring修改配置的方式有以下几种:


1.修改配置文件


首先清楚直接能在SpringBoot配置文件中修改的属性,必须是自动配置类绑定在配置文件类中的属性。如果自动配置类根本就没有绑定配置文件类,那么SpringBoot配置文件中无法直接修改。


2.自定义组件


绑定了配置类的依赖类可以直接去通过配置文件修改,但是有些依赖类并没有绑定配置文件类,这样就不能通过SpringBoot的配置文件去直接修改配置。除了一些最最基础的依赖类以外,SpringBoot中所有功能组件基本上都没有将配置文件抽为配置文件类,而是通过先扫描IOC中有没有用户自定义的功能组件,如果没有再注入默认的进IOC这种机制来实现。如果用户需要修改功能组件层面的配置,需要用户通过@configuration和@Bean两个注解来收入注入一个Bean到IOC中。(比如SpringMVC中的各种器,视图解析器、格式化器等等)



修改配置文件的原理在《手撕JAVA(八)详解SpringBoot自动配置源码》一文已经做了讨论,此处介绍一下如何自定义组件来达到修改配置的目的:


此处以修改SpringMVC的配置为例


SpringMVC的配置类在:WebMvcAutoConfiguration类中。


能在SpringBoot的配置文件中直接修改的配置,是必须写在配置文件类中的属性。但大多数功能组件都没有绑定配置文件类,需要用户自己向IOC中注册,如果不注册,SpringBoot会向IOC中注册一个默认的Bean。SpringMVC所有功能组件都是这样。


方法一:


@Configuration+@Bean

20190722175445503.png

20190722175458756.png

方法二:WebMvcConfigurer接口

20190722175518841.png

值得注意的是新版本的SpringBoot,对于每一大类的组件专门给开发者提供了XXXConfigurer接口,来统一修改配置,这样比单个注册效率要高的多。


目录
相关文章
|
5月前
|
Java 微服务
【SpringBoot】SpringBoot工程 自定义配置文件
【SpringBoot】SpringBoot工程 自定义配置文件
33 0
|
4月前
|
Java
SpringBoot获取配置中的数据
SpringBoot获取配置中的数据
36 0
|
5月前
|
XML 前端开发 Java
SpringBoot - SpringMVC的默认配置与修改
SpringBoot - SpringMVC的默认配置与修改
55 0
|
6月前
|
Java
springboot中自定义配置
springboot中自定义配置
27 0
|
7月前
|
Java 容器
17 如何修改SpringBoot的默认配置
17 如何修改SpringBoot的默认配置
48 0
|
9月前
|
Java
SpringBoot 自动配置--常用配置
SpringBoot 自动配置--常用配置
82 0
|
10月前
|
XML 监控 Java
SpringBoot的创建和使用(上)
SpringBoot的创建和使用(上)
395 0
|
10月前
|
Java Spring
SpringBoot的创建和使用(中)
SpringBoot的创建和使用(中)
|
11月前
|
XML Java Maven
【SpringBoot学习笔记 四】SpringBoot自动配置原理
【SpringBoot学习笔记 四】SpringBoot自动配置原理
66 0
|
11月前
|
XML Java 应用服务中间件
【SpringBoot学习笔记 四】SpringBoot自动配置原理(下)
【SpringBoot学习笔记 四】SpringBoot自动配置原理(下)
73 0