0

プロパティファイル自体を読み取らずに、プロパティファイルから読み取ったすべてのキーを読み取ることができるのではないかと思います。私はそのように構成されたプレースホルダーを持っています

<context:property-placeholder
    system-properties-mode="OVERRIDE"
    ignore-resource-not-found="true"
    location="classpath:/defaults.properties, file:${config.location:/etc/default/example.properties}" />

私が必要とするほとんどすべてのケースを整理します。ここで、手動で@Valueすべての値を一部に注入し@ControllerModelAndView.

これにアプローチする方法、またはプロパティプレースホルダーで可能かどうかについてのアイデアはありますか?

4

1 に答える 1

0

PropertyPlaceHolderConfigure彼のプロパティを公開しないでください。ただし、BeanDefinition から場所を取得し、同じ結果でそれらをロードできます。

BeanDefinition bd = configurableApplicationContext.getBeanFactory().getBeanDefinition("org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0");
    String[] locations = (String[]) bd.getPropertyValues().getPropertyValue("locations").getValue();
    Properties props = new Properties();
    for (String loc : locations) {
        props.putAll(PropertiesLoaderUtils.loadProperties(configurableApplicationContext.getResource(loc)));
    }
于 2012-12-14T11:55:44.843 に答える