gpt4 book ai didi

java - 从 Java 对象生成 Spring bean 定义

转载 作者:搜寻专家 更新时间:2023-11-01 04:03:45 24 4
gpt4 key购买 nike

让我们建议我在 Spring 中定义一个 bean:

<bean id="neatBean" class="com..." abstract="true">...</bean>

然后我们有很多客户端,每个客户端的“neatBean”配置略有不同。我们这样做的旧方法是为每个客户端创建一个新文件(例如,clientX_NeatFeature.xml),其中包含该客户端的一堆 bean(这些是手动编辑的并且是代码库的一部分):

<bean id="clientXNeatBean" parent="neatBean">
<property id="whatever" value="something"/>
</bean>

现在,我想要一个 UI,我们可以在其中动态编辑和重新定义客户端的 neatBean。

我的问题是:给定一个 neatBean 和一个可以“覆盖”该 bean 属性的 UI,像我们今天[手动]那样将其序列化为 XML 文件的直接方法是什么?

例如,如果用户将客户端 Y 的属性设置为“17”,我想生成:

<bean id="clientYNeatBean" parent="neatBean">
<property id="whatever" value="17"/>
</bean>

请注意,将此配置移动到不同的格式(例如,数据库、other-schema'd-xml)是一种选择,但并不是手头问题的真正答案。

最佳答案

您可以从here 下载Spring-beans 2.5 xsd。并运行 xjc在它上面生成带有 JAXB 绑定(bind)的 Java 类。然后,您可以在运行时创建 Spring-beans 对象层次结构(并根据需要对其进行操作),然后使用 JAXB 编码器将其序列化为 XML 字符串,如 Pablojim 的 answer 所示。 .

关于java - 从 Java 对象生成 Spring bean 定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2952990/

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