首页 > 解决方案 > 所有 Spring 微服务的重复配置代码问题

问题描述

有没有办法创建一个弹簧配置类并将其用于我的所有微服务?

现在我必须将重复的配置类复制到所有微服务。如果有更改,我必须在所有模块中进行更改。

我使用 apache zookeeper 将我的配置集中在一个地方。为了设置与 Zookeeper 服务器连接的身份验证详细信息,我必须在 Spring @Configuration 中为 CuratorFramework 类创建一个新 bean,这些微服务将其配置保存在 zookeeper 上。

标签: springspring-bootmicroservicesspring-cloudapache-zookeeper

解决方案


是的你可以:

  • 创建一个具有配置的模块(maven、gradle managed,等等)。将所有常见的 bean 添加到此模块以供重用。这将是一种“基础设施”。
  • 可选择添加spring.factories文件以自动“加载”配置
  • 在微服务中(每个都应该在不同的模块中)添加对该公共模块的依赖。

如果您已添加spring.factories- 配置将自动加载,如果您没有添加,则必须在每个模块中显式导入此配置。但无论如何,您都不需要复制代码。

SO中有很多关于spring工厂的教程/线程,所以如果你不熟悉这个特性——你可以在这里阅读例如


推荐阅读