3

Spring Roo が database.properties を META-INF/spring に配置し、WAR の一部としてデプロイする理由を理解しようとしています。

確かにデータベースのプロパティは環境固有であり、再構築せずに変更できるWARの外にある必要がありますか? application-context.xml の行を変更して、クラスパスの任意の場所にあるプロパティ ファイルを検索し、WAR でパッケージ化されない場所にファイルを移動します。

これを後悔させるような、ここに到達していない何かがありますか?

4

2 に答える 2

5

Spring の PropertyPlaceholderConfigurer を使用してこれを処理し、クラスパスとファイルシステムにプロパティ ファイルを含めました。

<context:property-placeholder 
    location="classpath*:META-INF/spring/*.properties,file:myapp*.properties"/>

アプリの起動時 (またはテストの実行時など) に現在のディレクトリに myapp*.properties ファイルがある場合、war/ear/whatever に焼き付けられたファイルのプロパティをオーバーライドします。スターを削除することもできますが、ファイルが存在する必要があります。

于 2010-10-04T17:20:33.220 に答える
2

これはおそらく、次のようなさまざまなdatabaseコマンドに影響を与える(中断する)でしょう

  • database properties set
  • database properties remove
  • database properties list

IMO、あなたはそれを下に保つべきMETA-INF/springです。

于 2010-09-18T22:13:33.433 に答える