目录

全局配置文件

application.properties配置文件

application.yaml配置文件

 value值为普通数据类型(例如数字、字符串、布尔等)

 value值为数组和单列集合

 value值为Map集合

 value值为对象或嵌套对象

@Value

自定义配置

使用@PropertySource加载配置文件

随机数设置及参数间引用

随机值设置

参数间引用


全局配置文件

全局配置文件能够对一些默认配置值进行修改。Spring Boot使用一个application.properties或者application.yml文件作为全局配置文件,该文件存放src/main/resource目录或者类路径的/config,一般会选择resource目录

   application.properties配置文件

server.port=8080
spring.config.name=peach
spring.application.name=peach-properties
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=xxxx
spring.redis.database=0

演示application.properties配置文件中的自定义配置属性注入到PropertiesConfig实体类对应属性中

package com.peach.demo.vo;

import lombok.Data;

/**
 * @program: YLT
 * @description: 人类
 * @author: Mr.peach
 * @create: 2023-04-02 23:46
 **/
@Data
public class People {

    private Integer id;
    private String name;
    private int age;

}
package com.peach.demo.config;

import com.peach.demo.vo.People;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

/**
 * @program: YLT
 * @description: 配置类
 * @author: Mr.peach
 * @create: 2023-04-02 23:48
 **/
@ConfigurationProperties(prefix = "peach-pro")
@Component
@Data
public class PropertiesConfig {

    private Integer id;
    private String userName;
    private List liek;
    private String[] family;
    private Map map;
    private People people;

}

    

 编写application.properties配置文件时,由于要配置的PropertiesConfig对象属性是我们自定义的,Spring Boot无法自动识别,所以不会有任何书写提示。在实际开发中,为了出现代码提示效果来方便配置,在使用@ConfigurationProperties注解进行配置文件属性值注入时,可以pom.xml文件中添加一个SpringBoot提供的配置处理器依赖:

        <!--自定义配置提示-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
		</dependency>

重新运行项目启动类或者重新构建生效

 测试配置效果

application.yaml配置文件

        YAML文件格式是Spring Boot支持的一种JSON超集文件格式,相较于传统的Properties配置文件,YAML文件以数据核心,是一种更为直观且容易被电脑别的数据序列化格式application.yaml配置文件的工作原理application.properties是一样的,只不过yaml格式配置文件看起来更简洁一些。我本人开发过程中一般用这种格式,更简洁更有层次感。 YAML文件的扩展名可以使用.yml或者.yaml application.yml文件使用key:(空格)value“格式配置属性,使用缩进控制层级关系

value值为普通数据类型例如数字字符串、布尔等)

 value值为数组和单列集合

        当YAML配置文件中配置的属性值为数组或单列集合类型时,主要有两种书写方式缩进写法行内写法缩进式有两种写法行内式写法如下

 value值为Map集合

 value值为对象或嵌套对象

注意:application.propertiesapplication.yml如果配置相同属性,application.properties会覆盖application.yml的配置。 

@Value

支持基本属性的注入,对于包含Map集合、对象以及YAML文件格式行内式写法的配置文件的属性注入都不支持,如果赋值出现错误

自定义配置

可以说,几乎所有的配置都可以写在application.peroperties文件中,Spring Boot会自动加载全局配置文件从而免除我们手动加载的烦恼。但是,如果我们自定义配置文件,Spring Boot是无法识别这些配置文件的,此时就需要我们手动加载

使用@PropertySource加载配置文件

对于这种加载自定义配置文件的需求可以使用@PropertySource注解结合@Configuration注解配置类的方式实现。@PropertySource注解用于指定定义配置文件的具体位置名称。同时,为了保证Spring Boot能够扫描注解,还需要类上添加@Configuration注解实体类作为自定义配置类。当然,如果需要将自定义配置文件中的属性值注入到对应类的属性中,可以使用@ConfigurationProperties或者@Value注解进行属性值注入

  • 创建一个配置类CustomPropertiesConfig,提供zjq.properties自定义配置文件中对应的属性,并根据@PropertySource注解使用进行相关配置

随机数设置参数引用

在Spring Boot配置文件中设置属性时,除了可以像前面示例显示的配置属性值外,还可以使用随机值和参数引用对属性值进行设置。下面,针对配置文件中这两种属性值的设置方式进行讲解

随机设置

在Spring Boot配置文件中,随机设置使用到了Spring Boot内嵌RandomValuePropertySource类,对一些隐秘属性值或者测试用例属性值进行随机值注入。 随机值设置的语法格式为${random.xx},xx表示需要指定生成随机类型范围,它可以生成随机的整数uuid字符串示例代码如下

  # ${random.value} # 配置随机值
  # ${random.int} #配置随机整数
  # ${random.long} # 配置随机long类型数
  # ${random.uuid} # 配置随机uuid类型数
  # ${random.int(10)} #配置小于10的随机整数
  #${random.int[1024,65536]} # 配置范围在[ 1024,65536]之间的随机整

参数引用

  在Spring Boot配置文件中,配置文件的属性值还可以进行参数间的引用,也就是在后一个配置的属性值中直接引用先前已经定义过的属性,这样可以直接解析其中的属性值了。 使用参数引用的好处就是,在多个具有相互关联的配置属性中,只需要对其中一处属性预先配置,其他地方都可以引用,省去了后续多处修改的麻烦 参数间引用的语法格式为${xx},xx表示先前在配置文件中已经配置过的属性名

 

原文地址:https://blog.csdn.net/peach_garden/article/details/129919787

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_39222.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注