springboot系列-springboot配置文件读取

引言

springboot支持多种配置文件读取方式,了解这些方式有助于查询和定位问题以及选择合适的方式进行开发。

一、配置文件位置

springboot默认的配置文件是application.properties,其存放的位置可以有以下几种,从上到下按照优先级排序如下,注意,当存在重复的配置文件时,高优先级的的将会覆盖低优先级的。

  1. 当前jar包所在目录下的config目录
  2. 当前jar所在目录
  3. classpath下的config目录
  4. classpath根路径

二、自定义配置文件

若不想使用默认的application.properties配置文件,也可以自定义配置文件名,有两种方式:

  • 在启动springboot应用时传入如下参数表示使用根路径下的application1.properties和application2.properties。
    spring.config.location=classpath:application1.properties,classpath:application2.properties
  • 使用@PropertySource注解来选择自定义的配置文件,例如如下表示读取根路径下的myconfig目录下的test.properties配置文件@PropertySource("classpath:myconfig/test.properties")

三、属性注入

  • @Component配置@Value将属性值进行注入
  • @Component或者@Configuration配合@ConfigurationProperties(prefix = "codingway")注解在类上,将能够将属性名称为codingway.name的属性注入到name字段中,prefix表示配置项的前缀为codingway
@Component
@ConfigurationProperties(prefix = "codingway")
public class Configuration { 
private String name;
//need set and get method
}

这里可以一次性将所有的配置全部加载进入配置文件,然后在使用到的类中注入Configuration 实例,使用get方法获取属性。

四、配置多环境

在实际工作中,需要根据开发、测试和生产配置不同环境的配置文件。可以在合适的路径下(见第一节配置文件位置)存放application-dev.properties,application-test.properties,application-prod.properties三个配置文件分别代表三个不同的环境,在springboot应用启动时传入指定的参数,例如--spring.profiles.active=prod指定使用application-prod.properties文件,另外也可以采用将spring.profiles.active=prod配置到系统环境变量中,使用--spring.config.location=../config/application-{spring.profiles.active}.properties,springboot还支持加载多个不同的配置文件,例如
--spring.profiles.active=prod,test

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MCNU云原生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值