【发布时间】:2020-06-09 13:27:58
【问题描述】:
我正在尝试向多个微服务添加授权。鉴于所有服务共享相似的授权过程,我想将逻辑提取到共享库。
我设法创建了库,但我意识到所有配置都需要在调用该库的微服务中的application.yml 文件中进行设置。不过我不想暴露服务层的一些配置。
经过一番搜索,我发现我可以在库的配置类中设置@PropertySource("library.properties"),以强制从库中指定的.properties 文件中读取属性。
现在的问题是我想为不同的环境设置不同的值,例如测试和生产的授权 URL 会有所不同。如何配置文件,以便配置类根据活动配置文件读取相同的属性值(例如 environment = test/staging/production)?
【问题讨论】:
-
为了记录,我最终在 Java 库 repo 中定义了
application-{env}.properties文件。并且可以被使用它的服务正确拾取。
标签: java spring-boot spring-boot-configuration