spring property 文件解析

1. profile跟property的mapping

└── src
    ├── main
    │   └── resources
    │       ├── application.yml
    │       ├── application-develop.yml
    │       ├── application-production.yml

启动Spring时,通过-Dspring.profiles.active指定有效的profile,然后spring就会找到相应的property。
application.yml,这个是默认加载的文件。
如果参数传递进来的profile是develop,那么spring会按照
application.yml→application-develop.yml的顺序去下载配置文件。
如果两个文件中有重复的key,后面的develop.yml的优先等级更高。


2. module间的包含关系

spring.profiles.include:
  - development
  - infra

通过在配置文件中定义spring.profiles.include可以实现包含关系。
一般这种应用场景如下:
假设我们有如下几个module
– web
– batch
– infra
web跟batch都调用了infra,那么如果我们在infra里面定义了property的话,同样也需要在web跟batch里面重复定义。为了避免这种情况,就可以通过include去包含其他module里面的property文件。

# web/batch

spring.profiles.include:
  - infra

# infra

aws:
  access:
    key: xxx
    serect: yyy

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

Close Bitnami banner
Bitnami