SpringBoot @ComponentScan掃描的局限性方式
SpringBoot @ComponentScan掃描的局限性
使用@ComponentScan注解時(shí),Spring只注入設(shè)置的類或者包及包的子集對(duì)象。
這會(huì)導(dǎo)致原來(lái)@SpringBootApplication 自動(dòng)配置裝配的功能在對(duì)象注入的時(shí)候不會(huì)注入當(dāng)前工程。
@ComponentScan
掃描依賴注入模塊服務(wù) [注意本項(xiàng)目的掃描@ComponentScan必須手動(dòng)加入當(dāng)前項(xiàng)目的包掃描路徑]
package com.patrol.mobile; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.ComponentScan; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import springfox.documentation.swagger2.annotations.EnableSwagger2; /** * 開(kāi)啟異步請(qǐng)求 */ @EnableAsync /** * 開(kāi)啟接口緩存 */ @EnableCaching /** * 開(kāi)啟定時(shí)任務(wù)調(diào)度 */ @EnableScheduling /** * 開(kāi)啟接口文檔描述 */ @EnableSwagger2 /** * 掃描依賴注入模塊服務(wù)[注意本項(xiàng)目的掃描@ComponentScan必須手動(dòng)加入當(dāng)前項(xiàng)目的包掃描路徑] */ @ComponentScan(basePackages = {"com.patrol.config", "com.patrol.web", "com.patrol.position.service", "com.patrol.mobile"}) /** * @SpringBootApplication 相當(dāng)于@Configuration,@EnableAutoConfiguration和 @ComponentScan 并具有他們的默認(rèn)屬性值 */ @SpringBootApplication public class PatrolMobileServiceApplication { public static void main(String[] args) { SpringApplication.run(PatrolMobileServiceApplication.class, args); } }
@ComponentScan的局限性很明顯,只掃描配置的這些包或者類。
使用@SpringbootApplication注解
可以解決根類或者配置類(我自己的說(shuō)法,就是main所在類)頭上注解過(guò)多的問(wèn)題,一個(gè)@SpringbootApplication相當(dāng)于@Configuration,@EnableAutoConfiguration 和 @ComponentScan 并具有他們的默認(rèn)屬性值。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot單獨(dú)使用feign簡(jiǎn)化接口調(diào)用方式
這篇文章主要介紹了springboot單獨(dú)使用feign簡(jiǎn)化接口調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03SpringBoot工程Docker多環(huán)境中使用同一個(gè)Jar包解決方案
在Docker多環(huán)境部署中,SpringBoot工程可以通過(guò)環(huán)境變量來(lái)動(dòng)態(tài)改變配置,無(wú)需重新打包,利用volume掛載或docker?cp命令,可以將配置文件直接傳入容器,提高部署效率,并保證安全性2024-09-09JDBC 實(shí)現(xiàn)通用的增刪改查基礎(chǔ)類方法
下面小編就為大家分享一篇JDBC 實(shí)現(xiàn)通用的增刪改查基礎(chǔ)類方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01Java?HashMap詳解及實(shí)現(xiàn)原理
Java?HashMap是Java集合框架中最常用的實(shí)現(xiàn)Map接口的數(shù)據(jù)結(jié)構(gòu),它使用哈希表實(shí)現(xiàn),允許null作為鍵和值,可以存儲(chǔ)不同類型的鍵值對(duì),在Java中,HashMap被廣泛應(yīng)用于各種場(chǎng)景,如緩存、數(shù)據(jù)庫(kù)連接池、路由器等,文中有詳細(xì)的代碼示例,需要的朋友可以參考下2023-05-05springmvc字符編碼過(guò)濾器CharacterEncodingFilter的使用
這篇文章主要介紹了springmvc字符編碼過(guò)濾器CharacterEncodingFilter的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2021-08-08java對(duì)象強(qiáng)轉(zhuǎn)成object的方法實(shí)現(xiàn)
在 Java 編程中,有時(shí)候我們需要將一個(gè)具體的對(duì)象強(qiáng)制轉(zhuǎn)換成 Object 類型,本文主要介紹了java對(duì)象強(qiáng)轉(zhuǎn)成object的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03解決Nacos成功啟動(dòng)但是無(wú)法訪問(wèn) (Connection refused)
這篇文章主要介紹了解決Nacos成功啟動(dòng)但是無(wú)法訪問(wèn) (Connection refused)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06