一般spring boot 2.x的配置有多种方式,如resources文件夹中可以定义bootstrap.yml(或bootstrap.properties)、application.yml(或application.properties)、配置中心(如nacos),那么它们加载顺序是怎样的,如何使用?
- bootstrap.yml:首先加载bootstrap.yml(或bootstrap.properties)。这个文件用于配置应用程序的上下文(ApplicationContext),通常用于加载外部配置,如服务发现和配置中心的属性。bootstrap.yml中的属性具有更高的优先级,并且通常用于设置需要尽早读取的配置项,如你可以配置Nacos相关的属性,如服务名称、配置中心地址、命名空间、分组等信息。
- nacos: Spring Cloud Alibaba会根据bootstrap文件中的配置信息从Nacos配置中心拉取远程配置。这些远程配置会与bootstrap.yml合并,并且具有更高的优先级。
- application.yml:在bootstrap.yml和nacos远程配置加载完成后,接着加载application.yml(或application.properties)。这个文件用于配置Spring Boot应用程序的各个组件,包括内置的Spring应用程序上下文。application.yml中的属性用于覆盖或补充bootstrap.yml和nacos中的配置。
在Nacos配置中心中,您可以为不同的环境(如开发、测试、生产)设置不同的配置集。当应用程序启动时,它会首先从Nacos获取与当前环境匹配的配置集,然后将其与本地配置合并。
需要注意的是,Nacos配置中心的配置可以在应用程序运行时动态刷新,这意味着您可以在不重启应用程序的情况下更改配置。这种能力使得Nacos成为一个强大的配置管理工具。
总的来说,结合Nacos时,配置加载的顺序是:bootstrap文件 -> Nacos远程配置 -> application文件。这样的设计允许您在不同的环境中灵活地管理和部署应用程序配置。