0

プロパティ ファイルから読み取らずに、アプリケーション コンテキストで Bean プロパティの値を変更したいと考えています。プロパティ オブジェクトに設定されたプロパティ値を取得します。プロパティ オブジェクトは、API インターフェイスの呼び出し中に API に渡されます。

4

1 に答える 1

1

カスタムと 呼ばれるApplicationContextInitializerを使用してそれを行うことができますPropertySourcePropertiesPropertySource

この方法でカスタム 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 に答える