【问题标题】:Spring Dynamic Loading DaoSpring 动态加载道
【发布时间】:2020-07-21 16:03:37
【问题描述】:

我一直在做springboot应用,它包含10多个数据源,叫做Multi-tenant。

一开始不知道从哪个数据库查询数据。我只是根据http请求参数得到了数据库配置并建立了数据库连接,所以spring应用初始化时无法加载dao组件。

那么当我得到数据库连接后,如何动态注入dao组件呢?

另外,下一个http请求可能会从另一个数据库获取信息,我要根据这个数据库连接再次注入这个dao组件

【问题讨论】:

    标签: java spring dao


    【解决方案1】:

    我不确定您的应用程序的结构,但对于类似的用例,我们使用 @Requestscope 注入 bean(代码用于 Google Datastore,其中命名空间根据请求动态解析)

      @Bean
      @RequestScope
      public DatastoreNamespaceProvider datastoreNamespaceProvider() {
        return () -> namespaceProvider().getNamespace();
      } 
    

    其中namespaceProvider()又是一个带有@Requestscope的bean,它从API http请求中读取值。

    【讨论】:

      猜你喜欢
      • 2017-05-02
      • 2023-03-22
      • 1970-01-01
      • 2017-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      相关资源
      最近更新 更多