![](/img/trans.png)
[英]Spring - “context:property-placeholder” - property priority
[英]Spring context:property-placeholder for a boolean value
我正在开发一个应用程序,其中有两个都实现一个公共接口的类。 因此,在进行bean声明时,我将在我的app-context.xml文件中将其中一个标记为主要。 我可以这样简单地声明主bean来实现:
<bean id="oracleImpl" class="com.me.dao.OracleImpl" primary="true">
</bean>
现在,我不想硬编码哪个bean将成为主bean,而是想从属性文件中读取true / false值。 所以我就这样:
<context:property-placeholder location="classpath:jdbc.properties"/>
<bean id="oracleImpl" class="com.me.dao.OracleImpl" primary="${oracle.primary}">
</bean>
<bean id="pgsqlImpl" class="com.me.dao.PgsqlImpl" primary="${pgsql.primary}">
</bean>
oracle.primary和pgsql.primary的值与其他jdbc(非布尔型)属性一起在文件jdbc.properties中定义。
但是它不起作用,并说:“'$ {oracle.primary}'不是'boolean'的有效值”
我觉得这与xsd验证程序有关。 浏览该网站和谷歌给了我很多想法,但没有真正的解决方案。 有身体可以帮助吗?
这是行不通的。
从3.2.5.RELEASE开始,仅以下Bean定义要素支持属性占位符:
有关详细信息,请参见BeanDefinitionVisitor的visitBeanDefinition
方法。 PlaceholderConfigurerSupport使用此方法。
我建议您在Spring Issue Management系统中创建功能请求。
PS:如果您创建问题,请在问题网址中添加评论。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.