我正在研究测试框架。
当一些用例需要H2时,我想将一个MySQL DataSource
bean替换为一个用于H2的那个bean(不是用XML配置为bean)。
有些用例仍然使用MySQL,因此我无法直接修改DataSource
bean配置。在Spring XML配置文件中只应配置一个DataSource
(未配置H2 DataSource
)。
有没有办法在运行时替换DataSource
(ibatis)中的sqlmapclient
bean?
答案 0 :(得分:0)
一种选择是在测试类中使用Spring对 bean定义配置文件和__add__
的支持。
但是,如果您不愿意或无法做到这一点,另一个选择是实现一个自定义@ActiveProfiles
替换 MySQL BeanFactoryPostProcessor
的bean定义H2 DataSource
的bean定义。请记住,如果你走这条路,你仍然需要条件逻辑(在你的DataSource
中)来决定是否要替换MySQL BeanFactoryPostProcessor
bean定义。