プロパティ ファイルから読み取らずに、アプリケーション コンテキストで Bean プロパティの値を変更したいと考えています。プロパティ オブジェクトに設定されたプロパティ値を取得します。プロパティ オブジェクトは、API インターフェイスの呼び出し中に API に渡されます。
1741 次
1 に答える
1
カスタムと
呼ばれるApplicationContextInitializer
を使用してそれを行うことができますPropertySource
PropertiesPropertySource
この方法でカスタム ApplicationContextInitializer を作成します。
public class PropertyRegisterAppInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext>{
@Override
public void initialize(ConfigurableApplicationContext applicationContext) {
MutablePropertySources sources = applicationContext.getEnvironment().getPropertySources();
Properties props = new Properties();
props.put("testkey", "testval");
sources.addFirst(new PropertiesPropertySource("propertiesSource", props ));
}
}
ファイルApplicationContextInitializer
を介してこれを登録します。web.xml
<context-param>
<param-name>contextInitializerClasses</param-name>
<param-value>props.PropertyRegisterAppInitializer</param-value>
</context-param>
于 2013-05-09T14:30:42.537 に答える