gpt4 book ai didi

spring - 从数据库或Java对象动态加载spring bean属性)

转载 作者:行者123 更新时间:2023-12-02 11:35:59 24 4
gpt4 key购买 nike

我有一个场景,我需要将属性从数据库或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 中的存储过程检索该值类(class)。

请建议我一种可以用于上述场景的机制。目前我正在研究扩展 SpringMain 和/或 PropertyPlaceholderConfigurer 类并编写我自己的自定义 BootStrapper。

还请提供有关为上述场景编写 BootStrapper 的提示。

最佳答案

Java 配置似乎是一个很好的选择的情况之一:

@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)注入(inject)您的 @Configuration 类,前提是它是在其他地方定义的。

关于spring - 从数据库或Java对象动态加载spring bean属性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11161490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com