2

春にはプロパティサポートが数回繰り返されたようですが、ベストプラクティスを判断するのは難しく、マニュアルは1回おきに慣れている人の観点から書かれています。これは単純で一般的な要件であると思いますが、それがどれほど難しいかを考えると、もっと慣用的な方法がある場合は訂正してください。

私が欲しいのは、クライアントが次のようなTomcat記述子を使用して設定しているコンテキストプロパティに基づいて、追加のプロパティファイルをSpringWebアプリに渡すことです。

<Context path="/foo" reloadable="true">
  <Parameter name="foo.config" value="file:${catalina.base}/conf/foo.properties"/>
</Context>

ライブプロフィールの春に私はこれを持っています

<beans profile="live">
            <context:property-placeholder location="classpath:timetabling.live.properties,${timetabling.config}" 
    ignore-resource-not-found="true" />
</beans>

したがって、プレースホルダーを使用してプレースホルダーサポートを構成しようとしているため、これは機能しないと思いました。ただし、システムプロパティを使用する場合、これは正常に機能します。Spring 3.1がシステムと環境のプロパティのサポートに組み込まれていることを知っているので、私の質問は、プレースホルダーが解決される前に、コンテキストアウェアでこのサポートを拡張するにはどうすればよいかということだと思います。

- アップデート -

http://blog.springsource.org/2011/02/15/spring-3-1-m1-unified-property-management/ 、特に脚注1を見ると、DefaultWebEnvironmentがあります。コンテキスト初期化パラメータ。今、私はもっと混乱しています、誰かが私にコンテキストプロパティ検索の具体的な例を提供できますか?この時点で、利用可能なすべてのjavadocを読んだように感じますが、それらは役に立たないだけです。

4

1 に答える 1

0

<context:property-placeholder />.properties、システム プロパティ、および環境変数から読み取るPropertyPlaceholderConfigurerを設定します。ただし、 Tomcatcontext.xmlはサーブレット コンテキストの init パラメータを設定します。したがって、必要なのはServletContextPropertyPlaceholderConfigurerです。

于 2013-01-31T11:29:04.653 に答える