Spring Boot引用配置文件

简介: Spring Boot程序默认从application.properties或者application.yaml读取配置,如何将配置信息外置,方便配置呢?

pring Boot程序默认从application.properties或者application.yaml读取配置,如何将配置信息外置,方便配置呢?


查询官网,可以得到下面的几种方案:


通过命令行指定


SpringApplication会默认将命令行选项参数转换为配置信息

例如,启动时命令参数指定:


java -jar myproject.jar --server.port =9000


从命令行指定配置项的优先级最高,不过你可以通过setAddCommandLineProperties来禁用


SpringApplication.setAddCommandLineProperties(false).


外置配置文件


Spring程序会按优先级从下面这些路径来加载application.properties配置文件


  • 当前目录下的/config目录
  • 当前目录
  • classpath里的/config目录
  • classpath 跟目录

因此,要外置配置文件就很简单了,在jar所在目录新建config文件夹,然后放入配置文件,或者直接放在配置文件在jar目录


自定义配置文件


如果你不想使用application.properties作为配置文件,怎么办?完全没问题


java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties


或者


java -jar-Dspring.config.location=D:\config\config.properties springbootrestdemo-0.0.1-SNAPSHOT.jar


当然,还能在代码里指定


@SpringBootApplication@PropertySource(value={"file:config.properties"})
publicclassSpringbootrestdemoApplication {
publicstaticvoidmain(String[] args) {
SpringApplication.run(SpringbootrestdemoApplication.class, args);
    }
}


按Profile不同环境读取不同配置


不同环境的配置设置一个配置文件,例如:


  • dev环境下的配置配置在application-dev.properties中;
  • prod环境下的配置配置在application-prod.properties中。


在application.properties中指定使用哪一个文件


spring.profiles.active = dev

当然,你也可以在运行的时候手动指定:


java -jar myproject.jar --spring.profiles.active = prod


相关文章
|
18天前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
37 0
|
3月前
|
XML Java 数据库
【Spring】SpringBoot 配置文件
【Spring】SpringBoot 配置文件
|
2月前
|
安全 Java 数据库连接
《Spring Boot配置文件大揭秘:看懂 application.yaml 与 bootstrap.yaml 的不同》
《Spring Boot配置文件大揭秘:看懂 application.yaml 与 bootstrap.yaml 的不同》
54 0
|
6月前
|
Java Nacos Spring
Nacos spring-cloud 版本没找到共享配置文件的说明,Nacos服务中共享,并且可以被多个应用获取和使用。这个在官网哪里有说明啊
Nacos spring-cloud 版本没找到共享配置文件的说明,Nacos服务中共享,并且可以被多个应用获取和使用。这个在官网哪里有说明啊
33 1
|
1月前
|
Java 数据库连接 API
【Spring】1、Spring 框架的基本使用【读取配置文件、IoC、依赖注入的几种方式、FactoryBean】
【Spring】1、Spring 框架的基本使用【读取配置文件、IoC、依赖注入的几种方式、FactoryBean】
46 0
|
3天前
|
Java Shell 测试技术
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
15 0
一次配置,多场景适用:Spring Boot多套配置文件的深度剖析
|
5月前
|
存储 安全 Java
Spring Boot读取配置文件
Spring Boot读取配置文件
|
2月前
|
XML 监控 druid
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
|
3月前
|
JSON Java Nacos
spring-gateway 基于 nacos 配置文件的动态路由
spring-gateway 基于 nacos 配置文件的动态路由
59 0
|
3月前
|
Java
springboot项目打包瘦身
springboot项目打包瘦身