0

私は本ProSpring3をフォローしてSpring3を学ぼうとしています。私は第4章にいて、著者がIoCとDIについて説明しています。彼はGenericXmlApplicationContextを使用して構成ファイルを指定します。彼は次のことをします:

package com.apress.prospring3.ch4;

import org.springframework.context.support.GenericXmlApplicationContext;

public class UsingSetterInjection {

    public static void main(String[] args) {

        GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
        //ctx.load("classpath:app-context-xml.xml");
        ctx.load("classpath:app-context-annotation.xml");
        ctx.refresh();      

        MessageRenderer messageRenderer = ctx.getBean("messageRenderer", MessageRenderer.class);
        messageRenderer.render();
    }
}

私の構造は

src / main / resources / app-context-annotation.xml

クラスパスリソース[app-context-annotation.xml]からXMLドキュメントを解析するIOException; ネストされた例外はjava.io.FileNotFoundExceptionです:クラスパスリソース[app-context-annotation.xml]が存在しないため、開くことができません

4

2 に答える 2

1

完全なパスを指定すると、魅力的に機能します。

    GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
    ctx.load("classpath:META-INF/spring/app-context-annotation.xml");
于 2014-07-19T17:54:44.867 に答える
0

次の行を使用して xml ファイルをロードしてみてください。

ctx.load("classpath*:app-context-annotation.xml");

クラスパスの後に*を追加しました。これで問題は解決すると思います。それ以外の場合は、このファイルがアプリケーションのクラスパスにあるかどうかを確認する必要があります。

乾杯。

于 2012-06-11T05:38:18.407 に答える