Spring Boot不使用数据源属性

sin*_*sem 3 spring database-connection spring-jdbc properties-file spring-boot

我已经在application.properties中设置了spring.datasource。*:

spring.datasource.url=jdbc:h2:./data/test
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver
Run Code Online (Sandbox Code Playgroud)

然后我配置了JdbcTemplate Bean

@Bean
@Autowired
public JdbcTemplate jdbcTemplate(DataSource dataSource) {
    return new JdbcTemplate(dataSource);
}
Run Code Online (Sandbox Code Playgroud)

但是当我启动应用程序时,我在控制台中看到了

Starting embedded database: url='jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false', username='sa'
Run Code Online (Sandbox Code Playgroud)

而不是我的设置。为什么?

sin*_*sem 5

总是魔术。

发生问题时,我具有以下依赖性:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

但是当我把它变成

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

问题消失了...