25

xml ではなく Java 構成を使用してスプリングを構成する新しいアプリケーションを構築しています。このアプリは、xml スタイルの構成を使用するモジュールに依存しています。アプリを起動しようとすると、次のエラーが表示されます。

No qualifying bean of type [com.myModule.myServiceImp] 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)}

この Bean は、モジュールの applicationContext.xml で宣言する必要があります。これを処理する適切な方法は何ですか?アプリの web.xml でアプリケーション コンテキストをつなぎ合わせる場合と同じように、単純に追加してみました。

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:com/myModule/appbase-context.xml
            com.myApp.AppConfig
        </param-value>
    </context-param>

しかし、私はまだ同じエラーが発生しました。これを行う適切な方法は何ですか?

4

1 に答える 1

48

@ImportResource構成クラスでは、注釈を介して xml 構成をインポートできます。

このようなもの:

@Configuration
@ImportResource({"classpath:appbase-context.xml"})
public class AppConfig {
    // @Bean definitions here...
}

Spring の Java 構成context-paramを使用している場合は、アプリケーション コンテキストに使用するクラスを示す追加を指定する必要があることに注意してください。

<context-param>
    <param-name>contextClass</param-name>
    <param-value>
        org.springframework.web.context.support.AnnotationConfigWebApplicationContext
    </param-value>
</context-param>
于 2013-10-14T17:09:07.130 に答える