【问题标题】:Spring Property placeholder value of a value一个值的 Spring Property 占位符值
【发布时间】:2012-12-06 19:59:03
【问题描述】:

我正在尝试查找这是否可能:我想要一个属性文件说

`

prop.properties: 
classDefA=com.ClassA
classDefB=com.ClassB
classDefC=com.ClassC

classType=classDefA  #or may be classType=classDefB ...

application-context.xml :
...
   <bean id="beanToUse" class="${classType}" />
...

`

如果在 prop 文件中,如果我做了 classType=classDefA,我希望它放入 com.ClassA。 我探索这条路线的原因之一是因为我只希望类加载器根据属性文件中的值加载其中一个类

【问题讨论】:

    标签: spring properties dependency-injection dependency-properties


    【解决方案1】:

    您是否查看过 Spring 配置文件?

    http://blog.springsource.com/2011/02/11/spring-framework-3-1-m1-released/

    您可以定义具有不同配置文件名称的 bean 定义,并指定要在初始化时使用的配置文件。

    【讨论】:

    • 是的,我查看了 bean 配置文件。但是很好奇我们是否可以以某种方式解析属性的属性值:)
    【解决方案2】:

    这应该可行:

    <util:properties id="props" location="application.properties"/>
    <bean id="beanToUse" class="#{props['classType']}" />
    

    【讨论】:

    • 当我使用 "#{['classType']}" 执行此操作时,我已经在使用属性占位符了,但不幸的是它无法解决它。
    • 它不是 Spring 属性占位符,它是 Properties 实例中的 EL 表达式。再次查看 XML。
    猜你喜欢
    • 2012-05-04
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    相关资源
    最近更新 更多