简单春季房产替代

时间:2016-08-31 14:33:51

标签: xml spring properties configuration substitution

所以我有一个弹簧配置文件:

    <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

    <bean id="DisputeId" class="com.mycompany.validation.Attributes">
        <property name="validator" value="com.mycompany.validation.StringValidator" />
        <property name="maxLen" value="21" />
        <property name="nullable" value="false" />
    </bean>

我只想将“com.mycompany.validation.Attributes”替换为“$ {attributes.class}”。

我该怎么做?我不需要在另一个文件中定义$ {attributes.class},而是希望它在同一个xml文件中。我知道我不是在寻找正确的条款......

谢谢!

2 个答案:

答案 0 :(得分:0)

在spring上下文中声明一个地图,并按键

使用它

答案 1 :(得分:0)

所以我最终做的是:

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
      <property name="properties">
         <value>attrib.class=com.mycompany.validation.Attributes</value>
      </property>
    </bean>

    <bean id="DisputeId" class="${attrib.class}">
      <property name="maxLen" value="21" />
      <property name="nullable" value="false" />
    </bean>

这很好用,我真的只想缩短写入/读取的xml数量。有没有其他方法可以做到这一点 - 只是好奇。