这是我的代码:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "/load-BMS-data-job-launcher-context.xml" })
public class SimpleJobLaunchFunctionalTests {
@Autowired
private JobLauncherTestUtils jobLauncherUtils;
@Autowired
private JdbcOperations jdbcTemplate;
@Autowired
private JdbcOperations jdbcTemplateBMS;
@Autowired
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
@Autowired
public void setDataSource(DataSource BMSdataSource) {
this.jdbcTemplateBMS = new JdbcTemplate(BMSdataSource);
}
@Before
public void setUp() {
jdbcTemplate.update("DELETE from SHADOW_BMS");
// jdbcTemplate.update("DELETE from CMNREF.CNTRCT_EXTRNL_KEY_REF_V");
jdbcTemplateBMS.update("DELETE from CNTRCT_EXTRNL_KEY_REF_V");
我想连接两个单独的JdbcTemplates来操作此测试类中的两个不同的数据库。我不知道如何设置不同的dataSources - 当我尝试调用第二个setDataSource(DataSource BMSdataSource)方法时,我得到一个异常。
我该怎么做?
答案 0 :(得分:0)
您可以使用name =“template1”和name =“template2”创建bean(带注释@Bean(name =“template1”))。在测试中,您可以按如下方式使用它们:
@Qualifier("template1")
@Autowired
private JdbcOperations jdbcTemplate1;
@Qualifier("template2")
@Autowired
private JdbcOperations jdbcTemplate2;