一、背景
springboot的出現,讓項目搭建變得更方便快捷,同時簡化掉很多的樣板化配置代碼,提高開發效率。
通過idea生成springboot項目,啟動報錯:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
通過錯誤不難看出是因為dataSource的url配置缺失導致,但是新生成的項目並沒有使用到jdbc,為什么會報出這個問題呢?
二、分析
其實這就是spring boot最核心的內容:自動配置
由於在生成項目的過程中勾選了mybatis以及mysql,所以pom中引入myBatis的jar包:
spring boot就會默認加載org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration類, 在該類中我們可以看到加載了datasource的相關配置
三、解決
知道問題的原因后,解決方法有兩種:
1、配置正確的數據源信息,在application.yml中增加如下內容:
啟動項目,成功。
2、在看SpringBootApplication源碼的時候發現,其實是有“exclude”屬性的,那我們是否可以通過該屬性指定排除加載類呢?
答案是肯定的,如下所示
服務啟動成功。