java - 获取 applicationContext.xml 文件中配置的所有数据源?

标签 java spring

我正在使用 spring/hibernate。我在 applicationContext.xml 文件中配置了 5 个数据源。所有数据源都是 com.mchange.v2.c3p0.ComboPooledDataSource 类型,但 id 不同。当我有应用程序上下文时,如何获取所有配置的数据源。我得到的应用程序上下文如下:

WebApplicationContext context = WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());

谢谢!

最佳答案

您可以按如下方式获取给定类型的所有 bean:

Map<String, DataSource> dataSources = context.getBeansOfType(DataSource.class);

Map中的值是bean实例,键是它们的id。

或者,您可以将给定类型的 Bean 集合作为依赖项注入(inject)到另一个 Bean 中,请参阅 3.9.2 @Autowired and @Inject .

关于java - 获取 applicationContext.xml 文件中配置的所有数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10411674/

相关文章:

java - 异常处理,catch导致while循环停止

java - 通过curl命令发送POST请求

spring - 文件上传 API 在 Postman 中有效,但在 React JS 中无效

java - Spring Boot 3/Spring Security 6,忽略不安全端点的 "invalid"授权 header

spring - Spring Boot 中的非 Web 应用程序

java - 使用 Hibernate Criteria 时,类型 List 的表达式需要未经检查的转换以符合 List<Student>

java - ActiveMQ将特定队列消息移到不同服务器上的不同队列

java - 使用 Mockito 进行单元测试需要哪些导入?

java - 为什么在我的例子中 Spring Boot Actuator 不显示/info,/actuator 端点?

java - 什么时候拥有多个 Play 应用程序而不是一个单一的应用程序是有益的?