springboot 如何取消starter的自動註入

springboot 取消starter的自動註入

starer是spring boot中一個很重要的概念,starter相當於一個模塊,它能將所需要的的依賴整合在一起並對模塊內的bean自動裝配到spring IOC容器,使用者隻需要在maven中依賴相應的starter包並無需做過多的依賴即可進行開發。

看例子

比如,我們導入瞭mybatis相關的依賴,但是我可能暫時沒用到數據庫,所以就沒有做數據庫相關的配置,這時候項目就會無法啟動

2020-03-08 22:13:10.396 WARN 10692 — [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization – cancelling refresh attempt:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dataSource’ defined in class path resource

[org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed;

nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate
[com.zaxxer.hikari.HikariDataSource]: Factory method ‘dataSource’ threw exception;

nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class

因為springboot中默認的數據庫連接池是hikari,你沒有在application.properties裡面進行數據庫相關的配置的話,那麼就會無法自動裝載dataSource

Error creating bean with name ‘dataSource’ defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]

重點來瞭

如何取消相關starer的自動註入?

我們還是以數據庫的這個為例子:

@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)

那麼,就需要在啟動類加上如上配置,取消DataSourceAutoConfiguration的自動註入

springbootApplication是一個組合註解,其實裡面真正實現自動註入功能的,是這個EnableAutoConfiguration註解

SpringBoot 自動註入問題

Description:

Field service in com.test.controller.UserController required a bean of type ‘com.test.service.UserService’ that could not be found.

Action:

Consider defining a bean of type ‘com.test.service.UserService’ in your configuration.

項目啟動的時候出現出現問題

run

controller

service

dao

配置文件如下

項目目錄

找瞭幾個類,該註解的也註解瞭。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: