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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM