繁体   English   中英

如何在运行时在 Spring 引导库项目中获取动态配置的 DataSource 属性?

[英]How do I get a dynamically configured DataSource property in a Spring Boot Library Project at runtime?

我有一个多模块项目,将 A 作为我的库项目,将 B 作为导入 A 的实现项目。现在我的 DataSource 使用@ConfigurationgetDataSource()方法在 B 中动态配置。 我想从项目 B 的项目 A 中的这个动态配置的数据源中访问一个属性。我尝试使用@ConfigurationProperties但这是不可能的。 有什么办法可以做到这一点?

提前致谢!

在配置您的数据源时,添加一个系统属性,如System.setProperty("key", value); 并在您的库中访问它,例如System.getProperty("key");

考虑使用@Primary@Qualifier之类的注释。

您可以尝试将 Environment 注入此服务:

private Environment env;

接着

env.getProperty("b.datasource.url");

或注入 ApplicationContext:

private ApplicationContext context;

然后得到整个豆子:

context.getBean(DataSource.class);

或按名称:

context.getBean("BDataSource"); // <- you need to know proper bean name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM