java - 来自 spring 属性的构造函数 arg 引用

标签 java spring spring-mvc

我有必须在运行时绑定(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/

相关文章:

java - 获取设备中的内部可用存储空间

java - Spring getBeanNamesForType 工作不正常

java - DelegatingFilterProxy 中的 NoSuchBeanDefinitionException

javax.persistence.Persistence.createEntityManagerFactory 不适用于 ClassGuard

java - PropertyChangeListener 中的 JOptionPane.showMessageDialog 导致意外行为

java - 多线程环境下使用的Hashmap

java - 使用 Spring 数据进行延迟加载 - 集合不与任何 session 关联

java - 如何使用 Spring AOP 和 WebFlux 获取从 joinPoint.proceed() 返回的对象

java - 如何在组件初始化之前在Spring Boot测试中加载h2数据

java - RESTful API 客户端最佳实践