Spring是否支持跨多个属性文件嵌套属性?
我希望在多个文件中分离属性,并允许稍后加载的文件具有引用或组合先前定义的属性(嵌套)的属性。例如:Spring是否支持跨多个属性文件嵌套属性?,spring,spring-annotations,Spring,Spring Annotations,我希望在多个文件中分离属性,并允许稍后加载的文件具有引用或组合先前定义的属性(嵌套)的属性。例如: Could not resolve placeholder 'jdbcDriver' in string value "${jdbcDriver}"; application.properties(例如dbName=test,dbHost=targethost) mysql.properties(例如jdbcDriver=com.mysql.jdbc.Driver,jdbcUrl=jdbc:my
Could not resolve placeholder 'jdbcDriver' in string value "${jdbcDriver}";
application.properties(例如dbName=test,dbHost=targethost)
mysql.properties(例如jdbcDriver=com.mysql.jdbc.Driver,jdbcUrl=jdbc:mysql://${dbHost:localhost:${dbPort:3306}/${dbName})
我使用的声明如下:
<context:property-placeholder location="classpath:application.properties" order="0" ignore-unresolvable="false"/>
<context:property-placeholder location="classpath*:${dbType:mysql}.properties" order="1" ignore-unresolvable="false"/>
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close">
<property name="driverClass" value="${jdbcDriver}"/>
有人能解释一下是否可以以这种方式将属性组织到不同的文件中,如果可以的话,如何配置Spring来正确解析属性,这样我的bean声明就不会失败
提前谢谢。您可以使用maven resources插件来过滤嵌套属性。PS:我假设属性像${name:default}在.properties文件中不受支持吗?不仅如此,@hsluo,而且如果您有三个属性文件,并且C在B中引用属性,同样B在A中引用属性,那么B或C中的属性都无法解析。正在寻找如何实现此功能的基本示例,或者放弃并使用Guice或其他Spring替代方案。用户我的错误。我有一个未终止的${。有一个输入错误,终止字符是)而不是}。很难看到,并且花了一天的时间进行诊断。所以这个示例有效吗?是的。其中一个文件有一个输入错误,错误消息没有那么大帮助。我确实发现了与上下文相关的其他问题:property placeholder,这是一个已知的错误,大约两年了,它们根本不起作用:。XML和占位符的上部内容,请不要使用所有配置代码。我所看到的折衷方案,容易出错且难以诊断的船锚(弹簧),或者需要大量附加组件以使其在实际意义上可用的迷你自行车(番石榴)。