1、Profile为在不同环境下使用不同的配置提供了支持,我们可以通过激活、指定参数等方式快速切换环境。SpringBoot的配置文件共有两种形式:.properties 文件和 .yml文件。application-{profile}.properties/yml
properties 配置:
在主配置文件中,指定默认服务器端口号为8080,并激活生产环境的profile
server.port=8080 spring.profiles.active=prod
在开发环境配置文件中,指定开发环境端口号为8081
server.port=8081
在测试环境文件中,指定测试环境端口为8082
server.port=8082
在生产环境配置文件中,指定生产环境端口号为8083
server.port=8083
启动SpringBoot主启动程序,服务器端口为8083。
yml配置:
在默认配置文件中指定默认服务端口号为 8080,并激活开发环境的profile
server: port: 8080 spring: profiles: active: dev
在开发环境配置中指定开发环境端口号为8081
server: port: 8081
在测试环境配置中指定开发环境端口号为8082
server: port: 8082
在生产环境配置中指定开发环境端口号为8083
server: port: 8083
启动SpringBoot主启动程序,服务器端口为8081。
2、多Profile文档块模式
在YAML配置文件中,可以使用“---”把配置文件分割成了多个文档块。
server: port: 8081 spring: profiles: active: dev --- server: port: 8083 spring: profiles:dev --- server: port: 8084 spring: profiles:prod
启动SpringBoot主启动程序,服务器端口为8083。
profile激活方式:
1.在配置文件中指定:spring.profiles.active=dev
2.命令行激活:--spring.profiles.active=dev
3.虚拟机参数激活:-Dspring.profiles.active=dev
3、当SpringBoot启动时,会依次扫描以下位置的application.properties或者application.yml文件,来作为SpringBoot的默认配置文件:
1.第一个位置:当前项目的跟文件夹下的config文件夹
-file:./config/
2.第一个位置:当前项目的跟文件夹下
-file:./
3.第三个位置:类路径下的config文件夹下
-classpath:/config/
4.第四个位置:类路径下
-classpath:/
上面是按照优先级有高到低,高优先级的配置会覆盖低优先级的配置。
还可以通过配置spring.config.location来改变默认配置。打包好项目以后,使用命令行参数的形式,启动项目的时候来指定文件的新位置;指定的配置文件和默认加载的配置文件会共同起作用。
采用F盘下的application.properties文件作为SpringBoot的配置文件:
java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --spring.config.location=F:\application.properties