4

データベースまたはJavaオブジェクトからBeanにプロパティをロードする必要があるシナリオがあります。

例を考えてみましょう。

<bean id="ConfigAsstDemoBeanParent" class="gps.springconfig.DemoClass" lazy-init="true">
  <property name="demoValueFromBean" value="demoValue"></property>
  <property name="demoValueForKeyFromProperties" value="${DEMO_KEY}"></property>
</bean>

また、プロパティファイルから値をロードするプロパティプレースホルダーの代わりに${DEMO_KEY}、Javaクラスのストアドプロシージャを使用して取得するデータベースから値をロードする必要があります。

上記のシナリオで活用できるメカニズムを教えてください。現在、SpringMainやPropertyPlaceholderConfigurerクラスの拡張を調査しており、独自のカスタムBootStrapperを作成しています。

また、上記のシナリオでBootStrapperを作成するためのヒントを提案してください。

4

1 に答える 1

7

Java構成が優れた代替手段であると思われるケースの1つ:

@Configuration
public class Config {

    @Resource
    private DataSource dataSource;

    @Bean
    @Lazy
    public DemoClass configAsstDemoBeanParent() {
        DemoClass demo = new DemoClass();
        demo.setDemoValueFromBean("demoValue");
        demo.demoValueForKeyFromProperties( /* query the database here */);
        return demo;
    }

}

クラスが他の場所で定義されていれば、クラスに注入DataSource(またはJdbcTemplate)できることに注意してください。@Configuration

于 2012-06-22T17:55:09.493 に答える