jdbctemplate使用更新的application.properties重新连接

wztqucjr  于 2021-06-29  发布在  Java
关注(0)|答案(0)|浏览(212)

具有以下代码:

@SpringBootTest(classes = UiApplication.class)
class CleanTestData {

  @Autowired DataPopulation dataPopulation;
  List<String> branches = Arrays.asList("master","f1", "f2");

  @Test
  void cleanData() {
    for (String branch : branches){
      dataPopulation.removeAllTestData();
    }
  }
}

@Component
@Slf4j
public class DataPopulation {

  private JdbcTemplate jdbcTemplate;

  @Autowired
  public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
    this.jdbcTemplate = jdbcTemplate;
  }

  public void removeAllTestData() {
    jdbcTemplate.update("delete from myaccounts")
  }  
} 

application.properties
spring.datasource.url=jdbc:postgresql://8.8.8.8:7320/${branch}

每个分支都有自己的数据库。
在cleandata()测试运行期间,它需要重新连接到特定的数据库。
文件夹:
application.properties-Spring配置
datapopulation—用于连接到数据库并执行某些查询的类
cleantestdata-test,它为每个分支调用干净的测试数据。
我需要解决以下挑战:
当cleandata()测试运行时,如何将分支名称传递给spring.datasource.url?
也许,我可以把分支的变量作为系统环境变量,每次都重写它。
如何使用更新的配置重新连接jdbctemplate?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题