开发者学堂课程【SpringBoot 实战教程: Profile 配置】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/651/detail/10776
Profile 配置
1、Profile 是针对不同的环境对不同的配置提供支持的,全局 Profile 配置使用application-* .properties
(application-prod.properties,application-sit.properties,application-dev.properties)
通常在开发环境下所用的配置和在测试环境下以及生产环境下所用的配置有区别,但是配置都写在 application 全局配置文件中,这样就没有办法进行区分,Profile 就是解决这个问题。可以把开发过程中用的配置单独定义在 properties 文件中,命名还是以 application 开头,开发过程中的配置放在-dev 的文件中,测试环境下所用的配置放到另外一个 properties 文件中,同样,名字也是以 application 开头,只是-后面的名字不一样,比如测试叫 sit,如果是开发环境下,要用到 application-dev.properties
,测试环境下用 application-sit.properties
,生产环境下用 application-prod.properties
。
2、但是用的时候只用其中一个,如何指名使用哪一个?可以在全局的配置文件中,通过在 application.properties 中设置
spring.profiles.active=prod
来指定活动的 Profile。如果使用生产环境下改成 prod,开发环境改成 dev。这就是 profile 的作用。
3、举例:
(1)创建开发环境下和测试环境下,创建两个文件,点击 new-file,注意命名要以 application 开头,application
-
dev
.
properties
。
(2)再创建一个文件,命名为 application-sit.properties。
(3)在开发环境下所用的端口8086,在测试环境下用端口8088,不同环境下相同的配置,但是取值不一样,比如要使用开发环境下的配置,如何指名?还需要全局配置文件,在 application.properties 中加入 spring
.
profiles
.
active
=
dev
。保存。启动可以看到端口号是8086。把 dev 改成 sit,就是测试环境下的配置。再次启动,这时端口号是8088。
4、在不同的环境下,定义相应的 properties 文件,仍然需要全局的配置文件 application.properties,通过 spring.profiles.active 属性指名具体用哪一个配置文件。