在Spring中创建动态DataSource

时间:2017-12-06 06:08:31

标签: spring spring-data-jpa

我想动态创建数据源对象。 我不会在编译期间获得数据库详细信息,所以我不能将它放在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的

0 个答案:

没有答案