gpt4 book ai didi

java - 通过properties在xml配置中配置spring bean抽象与否

转载 作者:数据小太阳 更新时间:2023-10-29 02:45:25 25 4
gpt4 key购买 nike

我正在使用 Spring 3.0.5.RELEASE 版本并具有以下配置:

<bean id="advice.audit" class="com.mysite.SuperClass" abstract="${myproperty.from.file}"/>

我得到:

${myproperty.from.file}' 不是 'boolean' 的有效值

我怎样才能实现这种行为,或者也许有人会提供更好的想法来控制从属性创建 bean。

升级到 Spring 3.1 不是一个选项,因此无法使用 Spring Profiles。

最佳答案

据我所知abstract attribute 并不意味着在运行时被属性值替换。 abstract指示是否 <bean>声明应用作模板。例如,你可以有这个

<bean abstract="true">
<property name="someField" value="some value" />
</bean>

如果值为abstract在运行时以某种方式设置为 false , Spring 会尝试为 <bean> 创建一个 bean没有 class 的声明属性。它会创造什么?

另请注意,在 beans 中XSD,abstract属性的类型为 xsd:boolean

<xsd:attribute name="abstract" type="xsd:boolean">
<xsd:annotation>-<xsd:documentation>
<![CDATA[ Is this bean "abstract", that is, not meant to be instantiated itself but rather just serving as parent for concrete child bean definitions? The default is "false". Specify "true" to tell the bean factory to not try to instantiate that particular bean in any case. Note: This attribute will not be inherited by child bean definitions. Hence, it needs to be specified per abstract bean definition. ]]>
</xsd:documentation>
</xsd:annotation></xsd:attribute>

关于java - 通过properties在xml配置中配置spring bean抽象与否,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19657336/

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