【问题标题】:Setting Values of enum via Spring Integration通过 Spring 集成设置枚举值
【发布时间】:2012-08-16 13:11:11
【问题描述】:

我有一个系统,例如,我有一个商店枚举。这些节目都有自己的 ShopCommand 属性(其中一些共享相同类型的命令类)。从命令类中的一个方法,然后我想在 Spring Integration 网关上调用 send 。我感到困惑的是如何在春天实际实例化这个网关。理想情况下,我想要的是通过 XML 配置构造枚举,其中命令属性也在 Spring 中创建,该属性具有通过 Spring 设置的属性 outGateway。我不确定我是否对这个描述说得很清楚,如果需要澄清,那就问吧!

【问题讨论】:

    标签: java spring inversion-of-control


    【解决方案1】:

    我想这就是你想要的:

    假设我有一个 ShopType 的枚举

    public enum ShopType {
      GROCERY, DEPARTMENT, MALL; 
    }
    

    然后我有一些我想通过 spring 配置设置的 Store bean。您可以像这样实例化和使用枚举:

    <bean id="DEPTARTMENT_STORE" class="my.package.ShopType" factory-method="valueOf">
      <constructor-arg value="DEPARTMENT"/>
    </bean>
    
    <bean id="searsStore" class="my.package.Store">
      <property name="shopType" ref="DEPTARTMENT_STORE"/>
    </bean>
    

    工厂方法指向一个用于创建对象的静态方法。所以你可以使用枚举的方法“valueOf”作为工厂方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 1970-01-01
      • 2011-11-14
      • 2013-01-10
      相关资源
      最近更新 更多