springboot 如何取消starter的自動(dòng)注入
springboot 取消starter的自動(dòng)注入
starer是spring boot中一個(gè)很重要的概念,starter相當(dāng)于一個(gè)模塊,它能將所需要的的依賴整合在一起并對(duì)模塊內(nèi)的bean自動(dòng)裝配到spring IOC容器,使用者只需要在maven中依賴相應(yīng)的starter包并無(wú)需做過(guò)多的依賴即可進(jìn)行開(kāi)發(fā)。
看例子
比如,我們導(dǎo)入了mybatis相關(guān)的依賴,但是我可能暫時(shí)沒(méi)用到數(shù)據(jù)庫(kù),所以就沒(méi)有做數(shù)據(jù)庫(kù)相關(guān)的配置,這時(shí)候項(xiàng)目就會(huì)無(wú)法啟動(dòng)
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
因?yàn)閟pringboot中默認(rèn)的數(shù)據(jù)庫(kù)連接池是hikari,你沒(méi)有在application.properties里面進(jìn)行數(shù)據(jù)庫(kù)相關(guān)的配置的話,那么就會(huì)無(wú)法自動(dòng)裝載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]
重點(diǎn)來(lái)了
如何取消相關(guān)starer的自動(dòng)注入?
我們還是以數(shù)據(jù)庫(kù)的這個(gè)為例子:
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
那么,就需要在啟動(dòng)類加上如上配置,取消DataSourceAutoConfiguration的自動(dòng)注入

springbootApplication是一個(gè)組合注解,其實(shí)里面真正實(shí)現(xiàn)自動(dòng)注入功能的,是這個(gè)EnableAutoConfiguration注解
SpringBoot 自動(dòng)注入問(wèn)題
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.
項(xiàng)目啟動(dòng)的時(shí)候出現(xiàn)出現(xiàn)問(wèn)題
run

controller

service

dao

配置文件如下

項(xiàng)目目錄

找了幾個(gè)類,該注解的也注解了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- idea?springBoot項(xiàng)目自動(dòng)注入mapper為空?qǐng)?bào)錯(cuò)的解決方法
- 如何通過(guò)一張圖搞懂springBoot自動(dòng)注入原理
- springboot多模塊化整合mybatis,mapper自動(dòng)注入失敗問(wèn)題及解決
- 使用SpringBoot 工廠模式自動(dòng)注入到Map
- java SpringBoot自定義注解,及自定義解析器實(shí)現(xiàn)對(duì)象自動(dòng)注入操作
- Spring Boot自動(dòng)注入的原理分析
- SpringBoot通過(guò)自定義注解實(shí)現(xiàn)配置類的自動(dòng)注入的實(shí)現(xiàn)
相關(guān)文章
實(shí)例解析Java程序中正則表達(dá)式的貪婪模式匹配
貪婪模式又叫最大匹配,X?、X*、X+、X{n,}都是最大匹配,例如你要用“<.+>”去匹配“a<tr>aava </tr>abb”,也許你所期待的結(jié)果是想匹配“<tr>”,但是實(shí)際結(jié)果卻會(huì)匹配到“<tr>aava </tr>”,下面我們就來(lái)看具體看一下貪婪模式的使用.2016-05-05
Spring Boot如何動(dòng)態(tài)創(chuàng)建Bean示例代碼
這篇文章主要給大家介紹了關(guān)于Spring Boot如何動(dòng)態(tài)創(chuàng)建Bean的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09
IDEA使用jformdesigner插件做管理系統(tǒng)MVC架構(gòu)的步驟和實(shí)現(xiàn)思路
在?IntelliJ?IDEA?中結(jié)合?JFormDesigner?插件,通過(guò)?Swing?框架實(shí)現(xiàn)一個(gè)管理系統(tǒng)的?MVC?架構(gòu)是一種經(jīng)典的開(kāi)發(fā)方式,以下是具體的步驟和實(shí)現(xiàn)思路,包含從項(xiàng)目創(chuàng)建到?MVC?架構(gòu)的核心代碼實(shí)現(xiàn),需要的朋友可以參考下2024-12-12
AndroidQ沙盒機(jī)制之分區(qū)存儲(chǔ)適配
這篇文章主要介紹了AndroidQ沙盒機(jī)制之分區(qū)存儲(chǔ)適配,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
在Struts2中如何將父類屬性序列化為JSON格式的解決方法
本篇文章,小編將為大家介紹關(guān)于在Struts2中如何將父類屬性序列化為JSON格式的解決方法,有需要的朋友可以參考一下2013-04-04

