有没有可能让一个外部配置项目不是作为一个正在运行的服务,而是作为一个依赖项?

3hvapo4f  于 2021-07-23  发布在  Java
关注(0)|答案(1)|浏览(304)

我有几个spring服务项目,它们都运行在不同的服务器上,但是共享许多相同的配置文件和初始化的bean。为了减少冗余,我希望有一个单独的项目可以提供大部分spring配置和bean。理想情况下,该项目不会是@springboot应用程序,而是某种类型的无服务器项目,它具有快照和版本。这样,我就可以把整个项目作为一个独立的依赖项

<dependency>
  <groupId>my-group</groupId>
  <artifactId>external-config-project</artifactId>
  <version>1.0.0</version>
</dependency>

我听说过springcloud配置和springcloud函数,但是我不知道如何使用它们,或者这是否就是我想要的?在文档中,它们有以下代码块:

@Configuration
@EnableAutoConfiguration
@RestController
public class Application {

  @Value("${config.name}")
  String name = "World";

  @RequestMapping("/")
  public String home() {
    return "Hello " + name;
  }

  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }

}

虽然它可能不是一个“spring应用程序”,但在我看来它仍然是一个独立的运行应用程序?
编辑:我已经有一个单独的软件来处理发布/快照上传,但不知道它将如何与这种风格的项目工作。

ttcibm8c

ttcibm8c1#

您只需将共享的spring配置模块打包为jar并导入到您的服务中。在服务的scan packages注解中添加共享模块的包名,以便spring扫描它们。
spring cloud config是一个服务器。别以为这就是你想要的

相关问题