0

たとえば、私は

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>
4

2 に答える 2

1

Spring 3.1 を使用している場合、作成したコードは機能するはずです。以前のバージョンを使用している場合valueOfは、enum をファクトリ メソッドとして定義してみてください。

<bean id="CODEC1" class="ID" factory-method="valueOf">
     <constructor-arg>   
         <value>CODEC1</value>
     </constructor-arg>
</bean>

<parameter name="id" value-ref="CODEC1"/>
于 2012-11-26T11:57:59.767 に答える
1

次の SpEL を試してください。

<property name="id" value="#{T(my.package.ID).valueOf('CODEC1')}"/>
于 2012-11-26T12:07:47.167 に答える