spring xml中的默认占位符值
Posted
技术标签:
【中文标题】spring xml中的默认占位符值【英文标题】:Default placeholder value in spring xml 【发布时间】:2012-05-04 21:54:50 【问题描述】:在我们的特定应用程序中,db.properties 文件由 3d 方提供。根据配置,此属性文件可以包含或不包含 db.schema 属性。因此,如果没有 db.schema 属性,则 db.username 必须用于 hibernate.default_schema 属性。
如果 db.schema 不存在,占位符 $db.schema:db.username 不会检索 db.username 的值,因此传播“db.schema”值而不是实际(即 dba)值。
所以,问题是:如果 db.schema 不存在(假设 db.username 始终存在),如何传播 db.username 的默认值?
<util:properties id="specificHibernateProperties">
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.default_schema">$db.schema:db.username</prop>
</util:properties>
【问题讨论】:
【参考方案1】:在 Spring 3 中,应该可以使用嵌套占位符。 所以请试试这个:
$db.schema:$db.username
/rgrds
【讨论】:
我很怀疑,但我试过了,它确实有效。不错!以上是关于spring xml中的默认占位符值的主要内容,如果未能解决你的问题,请参考以下文章
如果 Spring Boot 的属性文件中未提供占位符值,如何跳过?