2017-06-05 15 views
2

私はwarファイルのlibフォルダの下にjarファイルを置いています。瓶の中には@Autowired filedsのクラスがあります。jarファイル内でautowired依存関係の注入が失敗しました

package com.main.java.mypath.client; 

@Component 
public class ServiceProvider { 

    @Autowired 
    private StoreField storeField; 




package com.main.java.mypath.data; 
public interface StoreField { 
} 

エラー:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serviceProvider': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.main.java.mypath.data.StoreField com.main.java.mypath.client.ServiceProvider.storeField; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.main.java.mypath.data.StoreField] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 
+0

注入用に「StoreField」タイプの候補がありますか? – luk2302

+0

StoreField実装ではどのようなパッケージを使用していますか? – dvelopp

+0

'StoreField'は、定義に従ってインターフェイスです。どのクラスにもこのインターフェイスを実装しましたか?インタフェースを自動実行することはできません。あなたはオートワイヤリングのためのクラスが必要です。 –

答えて

3

限り、あなたはドンとして依存性を注入することはできません」瓶の内部では、ApplicationContextのXMLの中で私が

<context:component-scan base-package="com.main.java.mypath" /> 

コード与えていますあなたのStoreFieldインターフェイスの実装があります。それがクラスとして実装されていることを確認し、XMLまたはアノテーションを介してスプリングコンテキストで適切に初期化します。

+0

ありがとう..私はそれを逃した.. – NaaN

関連する問題