Springboot项目属性文件配置

Springboot 配置指南

项目中会遇到多个环境,比如生产环境,预发布环境,测试环境,开发环境等。每个环境的配置是不一样的。

Spring提供了一种配置优先级的读取机制帮我们解决这种困境。

Spring 配置的优先级从高到低依次是:

1、命令行参数。  比如java -jar demo.jar --server.port=8081

2、通过System.getProperties()获取的系统参数;

3、环境变量,System.getEnv();

4、从java:comp/env获取的JNID参数

5、RandomValuePropertiesSource生成的Random.*属性

6、jar外部的配置文件

7、jar内部的配置文件

8、应用的配置类,用@Configuartion注解的java类。

9、通过SpringApplication.setDefaultProperties设置的属性。

我们通常用的 命令行参数、jar外部的配置文件、jar内部的配置文件。

命令行参数: java -jar demo.jar --server.port=8081

外部配置文件的使用方式:java -jar demo.jar --spring.config.location=propertiesFilePath;

内部配置文件的使用方式: 除了默认的application.properties文件之外,存在多个application-{profileName}.properties配置文件,启动时使用命令:java -jar demo.jar --spring.profiles.active={profileName}

另外:有时候我们在启动项目的时候,总需要优先启动一些初始化的类,以前比较常见的是static静态快中,spring提供了一个CommandLineRunner接口,实现这个接口的类,会被优先启动,并且优先执行CommandLineRunner的run方法。多个CommandLineRunner时,使用Order命令设置顺序。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容