SpringBootTest @Autowired DataSource 出现空指针异常

出现问题

DataSource自动注入为空

测试代码

@SpringBootTest
public class SpringBoot06DataJdbcApplicationTests {

    @Autowired
    DataSource dataSource; //这里自动注入为null

    @Test
    public void contextLoads() throws Exception {
        System.out.println(dataSource.getClass());
        Connection connection = dataSource.getConnection();
        System.out.println(connection);
        connection.close();
    }
}

可能原因是没有读取到.yml文件

解决方案

在测试类上加@RunWith注解即可(此处作用应该是加载spring容器,才可自动注入,个人观点。。若有误可评论区指正~)

@RunWith(SpringRunner.class)

运行结果

class org.apache.tomcat.jdbc.pool.DataSource
ProxyConnection[PooledConnection[com.mysql.cj.jdbc.ConnectionImpl@2dbfa972]]
posted @ 2021-08-15 19:31  .Blank  阅读(1496)  评论(0编辑  收藏  举报