所以我有一个弹簧配置文件:
<?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文件中。我知道我不是在寻找正确的条款......
谢谢!
答案 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数量。有没有其他方法可以做到这一点 - 只是好奇。