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]]