美文网首页
springboot加载配置文件的优先级 & 配置项加载方法

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

作者: alexlee666 | 来源:发表于2019-09-29 11:07 被阅读0次

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

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

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

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

      1. 在jar包的同级目录下建一个config文件夹,然后把application.properties放到这个文件夹下;
      1. 直接把application.properties放到jar包的同级目录;
      1. 在classpath下建一个config文件夹,然后把application.properties放进去;
      1. 是在classpath下直接放配置文件。

    这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
    
    
    

    相关文章

      网友评论

          本文标题:springboot加载配置文件的优先级 & 配置项加载方法

          本文链接:https://www.haomeiwen.com/subject/kohaqctx.html