我想动态创建数据源对象。 我不会在编译期间获得数据库详细信息,所以我不能将它放在application.properties中或在代码中硬编码。
简单来说,假设我将通过调用Web服务来获取详细信息,使用我需要创建数据源的详细信息(架构对所有URL都是相同的)。
@Configuration
public class DataBaseConfig {
@Bean
public DriverManagerDataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
DataBaseDetails details = someWebServiceCall;
dataSource.setUrl(details.getURL());
dataSource.setUsername(details.getUserName());
dataSource.setPassword(details.getPassword());
return dataSource;
}
}
这个dataSource()只会在应用程序启动时调用,有没有办法调用方法dataSource来获取会话/请求?
BR, Kitty的