springboot加载配置文件的优先级 & 配置项加载方法

2019-09-29  本文已影响0人  alexlee666

在基于springboot框架编写java程序时,配置文件可以选择放在jar包内或者jar包外,相比于普通的java程序,springboot可以直接自动读取配置文件,而不需要额外的读取配置文件的代码在

一、配置文件放在jar包内:

以intellij idea为例,只需要将配置项定义在${project根目录}/src/main/resources/application.properties即可;

二、配置文件放在jar包外:

这4种方式的优先级是从1到4依次降低,放在${project根目录}/src/main/resources/下的配置文件优先级最低,最终生效的是高优先级。

三、配置项加载方法

springboot中使用属性注入的方式将配置文件application.properties中的配置项加载到项目中,使用@Value完成注解,不需要在业务代码中添加读写配置文件的代码:


import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

@Service
public class ZkUtil implements InitializingBean {

  @Value("${zookeeper.quorum}")
  private String zookeeperQuorum;
  @Value("${tenant:@null}")
  private String tenantName;
  // ......

}

在应用jar的同级目录config下有application.properties,其中包含如下配置项:


zookeeper.quorum=localhost:2181
tenant=datalake


上一篇 下一篇

猜你喜欢

热点阅读