SpringBoot 自動掃描第三方包及spring.factories失效的問題解決
為什么會找不到
Spring 依賴注入 就是要讓spring找到要注入的類 并且識別到了 @Component、@Service 等注解。
1. 當(dāng)在開發(fā)的第三方包里寫明了 @Component、@Service 等等
2. 引入了包,不論第三方庫的引入,還是本地jar??傊且氲焦こ痰?/p>
這時候還加入不到 IOC 容器,那就說明SpringBoot工程沒有掃描到這些類。
解決方法
1. componentScan 或者SpringBootApplication(scanBasePackages= )
@SpringBootApplication @ComponentScan(basePackages = {"com.example.gradlespringbootdemo","com.example.gradlespringboottest"}) public class GradleSpringbootTestApplication { public static void main(String[] args) { SpringApplication.run(GradleSpringbootTestApplication.class, args); }
SpringBootApplication 是個三合一的注解,其中就包含了ComponentScan 。本身是要默認掃描范圍的,手動加入ComponentScan后,默認就失效了。要手動加回來
2. 寫自動配置類
這種方法的原理與上一個其實是一樣的,實際作用還是在目標(biāo)上加入了componentScan 的掃描注解
3. spring.factories文件
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.example.gradlespringbootdemo.service.TestService\ AbcClass\ DefClass
當(dāng)開發(fā)第三方包時,可以使用這種方法。這樣使用這個包的springboot工程就可以自動掃描到了。其實就時springboot啟動時會掃描依賴jar包下的這個路徑的spring.factories文件。這個文件可以寫很多配置,例如Listener等。
如上代碼將需要被掃描的類都寫進去。
spring.factories 失效
這是版本問題,新的版本不再支持spring.factories文件了。改為上圖中一長串那樣的寫法 即 META-INF\spring\org.springframework.boot.autoconfigure.EnableAutoConfiguration.imports這樣,就是把原來的配置單獨形成文件,直接把要掃描的類寫進這個文件就可以了,每行寫一個,像這樣
到此這篇關(guān)于SpringBoot 自動掃描第三方包及spring.factories失效的問題的文章就介紹到這了,更多相關(guān)SpringBoot 自動掃描第三方包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解析Java的Spring框架的BeanPostProcessor發(fā)布處理器
這篇文章主要介紹了Java的Spring框架的BeanPostProcessor發(fā)布處理器,Spring是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2015-12-12jvm中指定時區(qū)信息user.timezone問題及解決方式
同一份程序使用時間LocalDateTime類型,在國內(nèi)和國外部署后,返回的時間信息前端使用出問題,這篇文章主要介紹了jvm中指定時區(qū)信息user.timezone問題及解決方法,需要的朋友可以參考下2023-02-02java時間戳轉(zhuǎn)日期格式的實現(xiàn)代碼
本篇文章是對java時間戳轉(zhuǎn)日期格式的實現(xiàn)代碼進行了詳細的分析介紹,需要的朋友參考下2013-06-06Java實現(xiàn)平鋪列表(List)互轉(zhuǎn)樹形(Tree)結(jié)構(gòu)
本文主要介紹了Java實現(xiàn)平鋪列表(List)互轉(zhuǎn)樹形(Tree)結(jié)構(gòu),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08springboot實現(xiàn)請求參數(shù)驗證的多種方法
在日常開發(fā)中,我們少不了需要對前端的請求參數(shù)的驗證,Spring提供了多種方法來實現(xiàn)請求參數(shù)的驗證,文中通過代碼示例給大家講解的非常詳細,我們一起了解一下吧2023-11-11JavaWeb中HttpSession中表單的重復(fù)提交示例
這篇文章主要介紹了JavaWeb中HttpSession中表單的重復(fù)提交,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03Mybatis-plus基于redis實現(xiàn)二級緩存過程解析
這篇文章主要介紹了Mybatis-plus基于redis實現(xiàn)二級緩存過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08