配置h2进行弹簧启动

时间:2015-01-30 10:46:47

标签: spring-boot h2

我正在尝试配置spring boot以将我的测试数据源设置为在postgresql模式下使用h2。 我在test / resources / application中设置了这些行:

spring.datasource.url=jdbc:h2:mem:db1;MODE=PostgreSQL
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=

但是春季启动会继续加载默认的h2配置。

如何强制弹簧靴使用我特殊的h2配置?

1 个答案:

答案 0 :(得分:2)

只需在java配置中执行此操作:

    @Configuration
@EnableAutoConfiguration
@Profile({ "dev", "demo" })
public class EmbeddedDatabaseConfiguration {
    @Bean(name = "dataSource")
    public DriverManagerDataSource getDataSource() {
        DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource();
        driverManagerDataSource.setDriverClassName("org.h2.Driver");
        driverManagerDataSource.setUrl("jdbc:h2:mem:mylivedata;IGNORECASE=TRUE;DB_CLOSE_ON_EXIT=FALSE;DB_CLOSE_DELAY=-1");
        return driverManagerDataSource;
    }
}