我有必须在运行时绑定(bind)的 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 的参数的语法是否正确,或者是否有其他方法来声明它。
请帮我解决这个问题。
如果问题不清楚,请告诉我。
最佳答案
如果您确定(正如您在 .properties 的内容中已经提到的那样)您提到的是正确的属性(没有拼写错误),那么问题是其他问题,而不是属性本身。尝试删除默认值。它必须抛出异常,如::::java.lang.IllegalArgumentException: 无法解析字符串值“${XYZ}”中的占位符“XYZ”。如果它不抛出此异常,则问题根本与此 bean 无关。
关于java - 来自 spring 属性的构造函数 arg 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24757711/