gpt4 book ai didi

java - Spring Boot 应用程序中的动态数据库重新配置

转载 作者:搜寻专家 更新时间:2023-10-31 20:32:44 33 4
gpt4 key购买 nike

我有一个相当复杂的 Spring Boot 应用程序(包括 Spring MVC 和安全性),除其他外,它需要数据库配置(url、用户名和密码)。要求是让最终用户在应用程序本身的帮助下配置数据库,如下所示:

  1. 用户启动应用程序,该应用程序还没有数据库配置
  2. 应用程序注意到缺少数据库配置并向用户显示配置屏幕
  3. 用户输入 url 和凭据
  4. 应用程序开始使用这个数据库

明显的问题是我无法创建任何需要 DataSource 的 bean,在知道该配置之前需要数据库配置。

有什么方法可以推迟大多数应用程序 bean 的初始化,直到执行第一个配置步骤为止?

-- 更新--几个应用程序的 bean 在它们的 @PostConsutrct 方法中从 DB 初始化它们的状态。因此,我要么需要真正延迟它们的创建,要么需要一种在提供配置后刷新(可能)应用程序上下文中所有 bean 的方法。

最佳答案

我建议您可以考虑使用另一个模块/程序或一个简单的脚本来要求提供所有详细信息,例如数据库等,将此信息存储到您的 application.properties 文件(重新外部化配置可能很有用 Spring boot external configuration )和然后使用有关数据源的可用信息启动您的主程序。这可能是一种更简单的方法。

关于java - Spring Boot 应用程序中的动态数据库重新配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37467349/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com