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