SpringBoot属性配置

SpringBoot属性配置

多环境配置

一般我们开发时,需要配置多个环境,在Spring Boot中多环境配置文件名需要满足application-{profile}.properties或者application-{profile}.yaml的格式,其中{profile}对应你的环境标识,比如:

  • application-dev.properties:开发环境
  • application-test.properties:测试环境
  • application-prod.properties:生产环境

让哪个配置文件被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值,如:spring.profiles.active=test

自定义属性

定义属性

可以在application.yaml文件中添加自定义属性,如:

author:
  name: Jankin
  project: SpringBootLearning
  signature: Each day leads to change!
  desc: ${author.name}正在学习${author.project}, ${author.signature} as a signature。

属性引用

像很多语言一样,用${属性名}就可以引用了,如上面的desc字段里引用了name等字段。

加载属性

  1. 通过@Value("${属性名}")注解来加载对应的配置属性,如:

    @Value("${author.name}")
    private String name;
    
  2. 通过@ConfigurationProperties(prefix = "自定义对象名")注解来自动加载对象,这个用来加载完整对象比较方便,如:

    @Component
    @ConfigurationProperties(prefix = "author")
    public class AuthorConfigProperties {
       private String name;
       private String project;
       private String signature;
       private String desc;
    }
    

使用随机数

在使用自定义属性时,有时我们需要使用一些随机数。可以通过${random}来产生int值、long值或者string字符串,来支持属性的随机值。如:

random:
    value: ${random.value}
    int: ${random.int}
    test10: ${random.int(10)}

自定义properties文件的中文乱码

依次打开idea->Preferences->Editor->File Encodings,把文件编码设置为utf-8,按照如下设置:
在这里插入图片描述

如果还是不行的话,把之前的属性拷贝出来粘贴在空白文件中,再重新粘贴回去,重启idea试试应该就好了。

建议属性文件使用yaml格式,就没有中文乱码的问题了。

猜你喜欢

转载自blog.csdn.net/Kelaker/article/details/85568863