【问题标题】:Default placeholder value in spring xmlspring 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>

【问题讨论】:

    标签: xml spring hibernate placeholder


    【解决方案1】:

    在 Spring 3 中,应该可以使用嵌套占位符。 所以请试试这个:

    ${db.schema:${db.username}}
    

    /rgrds

    【讨论】:

    • 我很怀疑,但我试过了,它确实有效。不错!
    猜你喜欢
    • 1970-01-01
    • 2012-11-02
    • 2021-07-17
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多