我的bean必须在运行时绑定。
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg ref="${requiredBean:mysql}"/>
</bean>
<bean id="mysql" class="xxx.xxx.xxxxxx">
</bean>
<bean id="mongo" class="xxx.xxx.xxxxxx">
</bean>
在属性文件中,我添加了属性
requiredBean=mongo
但是由于某种原因,spring没有拾取属性文件中的requiredBean(属性文件配置正确,除了这个属性之外所有其他属性都正确加载)。
我只是想知道我用于为构造函数aa ref声明arg的语法是否正确,或者是否有其他方法来声明它。
请帮我解决这个问题。
如果问题不明确,请告诉我。
答案 0 :(得分:1)
如果您确定(正如您在.properties的内容中已经提到的那样)提到了正确的属性(没有拼写错误),那么问题就是其他问题,而不是属性本身。尝试删除默认值。它必须抛出异常,如:::: java.lang.IllegalArgumentException:无法解析占位符&#39; XYZ&#39;在字符串值&#34; $ {XYZ}&#34;。如果它没有抛出此异常,则问题根本与此bean无关。