我創建了由Maven管理的Spring Boot應用程序。 我正在從我們的Maven存儲庫中檢索公司的庫。自動裝配和注入Bean的外部Java庫問題
在這個庫中,我們有一個服務接口,而不是被標註了「@服務」:
public interface MyService {
//...
}
此服務只有一個執行:
public class DefaultMyService implements MyService {
//...
}
這個庫上下文管理的舊的Spring方法(在applicationContext.xml文件中)。 我讀到通常情況下,如果在範圍中只有一個,Spring Boot能夠找到實現。
當我嘗試運行「春天啓動:運行」在我的項目,它會失敗,出現以下錯誤:
無型「com.pharmagest.saml.SAMLService」 可用的排位豆:預計至少有1個豆符合自動電線 候選人的要求。依賴註解: {@ org.springframework.beans.factory.annotation.Autowired(所需=真)}
我嘗試:
- 要添加@ComponentScan上的配置類,包括包錯誤:
@ComponentScan(basePackages={"com.mycompany.web", "com.mycompany.thelibrary.client.*", "com.mycompany.thelibrary.services.*"})
- 要在applicationContext.xml中添加bean定義(如果我添加的接口它告訴我,它可以定義它,因此,我聽說春天可以找到默認的實現如果只有一個?)
- 在「運行」中添加庫時間」,在項目的選擇
- 爲了不通過行家
庫中添加外部資源在所有的情況下,我只可以Maven構建,但不能運行項目。 你有什麼建議可以幫助我嗎?謝謝!
對於選項2,您可以在applicationContext.xml中顯示您的定義嗎? –
難道你不能手動創建bean並將該方法標記爲@Bean來返回實例嗎? – StanislavL