5

コマンドラインパラメーターとして渡されるプロパティファイルで初期化されるSpringコマンドラインプログラムを書きたいです。どうすればそれができますか?

開始クラス:

public static void main (String [] args) {
    String configFilename = args[0];
    ApplicationContext ctx = new ClassPathXmlApplicationContext(
        "classpath:/context/applicationContext.xml");
    MyBean bean = ctx.getBean(MyBean.class); 
    bean.getStarted();
}

applicationContext.xml:

<context:property-placeholder location="CONFIGFILENAME" ignore-unresolvable="true"/>

正しい環境依存プロパティをロードできるように、メイン メソッドから実際のスプリング コンテキストに設定ファイル名を取得するにはどうすればよいですか?

4

1 に答える 1

7

あなたの場合、プロパティファイルの場所のシステムプロパティを設定することをお勧めします

System.getProperties().setProperty("location", args[0]);

次に、applicationContext.xml ファイルで

<context:property-placeholder location="${location}" ignore-unresolvable="true"/>  

これで問題が解決することを願っています。

于 2012-08-07T10:11:36.363 に答える