我正在使用註釋設置一個帶Boot的非常小的Spring/REST/JPA項目。ComponentScan順序是否重要?
我得到我的REST控制器類,它具有一個自動連接庫變量,一些豆沒有發現錯誤,當我將我的JPA庫類向不同的包,並呼籲其包裝componentscan。但是,當我的所有文件(共5個)位於同一個包中時,一切正常。
所以我在想,不過,不太可能,如果組件掃描順序的問題?例如,如果一個類從一個尚未進行「組件掃描」的軟件包中自動連線一些bean,是否會導致Bean找不到錯誤?
我正在使用註釋設置一個帶Boot的非常小的Spring/REST/JPA項目。ComponentScan順序是否重要?
我得到我的REST控制器類,它具有一個自動連接庫變量,一些豆沒有發現錯誤,當我將我的JPA庫類向不同的包,並呼籲其包裝componentscan。但是,當我的所有文件(共5個)位於同一個包中時,一切正常。
所以我在想,不過,不太可能,如果組件掃描順序的問題?例如,如果一個類從一個尚未進行「組件掃描」的軟件包中自動連線一些bean,是否會導致Bean找不到錯誤?
不,春天加載所有的配置信息,然後創建豆(儘可能是可能的),那麼電線在一起所有事情都一字排開。所有配置將在啓動過程中被讀取。
也許你需要共享一些代碼。當你移動這些東西時,你還需要告訴Spring他們去了哪裏。我的猜測是,你還沒有定義@EntityScan
和@EnableJpaRepositories
(其中默認的@EnableAutoConfiguration
的位置)。
啊,我不知道,我會試試看,謝謝! – JeffLL
可能有幾個問題:
的順序並不在所有問題。有一個@Order註釋,但它的目的更多的是以不同的順序加載多個實現。首先創建Bean定義,它們與佈線無關。然後通過bean post處理器,注入自動佈線的bean。由於沒有bean定義。沒有什麼可以注入的。
否。彈簧加載所有的豆子,然後進行佈線。 –
@Evgeni謝謝 – JeffLL