例如我有
public enum ID { CODEC1, CODEC2 }
和一个豆
public class Bean {
private ID id;
public ID getId() { return id; }
public void setId(ID value) { this.id = value; }
}
是否有可能以某种方式在Spring配置中使用符号名称?例如
<bean id="bean" class="Bean">
<parameter name="id" value="CODEC1"/>
</bean>
答案 0 :(得分:1)
如果您使用的是Spring 3.1,那么您编写的代码应该可以使用。使用以前的版本时,请尝试将枚举的valueOf
定义为工厂方法:
<bean id="CODEC1" class="ID" factory-method="valueOf">
<constructor-arg>
<value>CODEC1</value>
</constructor-arg>
</bean>
和
<parameter name="id" value-ref="CODEC1"/>
答案 1 :(得分:1)
尝试使用以下SpEL:
<property name="id" value="#{T(my.package.ID).valueOf('CODEC1')}"/>