繁体   English   中英

java spring中的enum类的bean id是什么?

[英]what is the bean id for enum class in java spring?

这是我的方法,其中我将字符串转换为枚举以枚举一个case语句...

   public int AnalyseRow(String UserName, String SymbolName, Date TransDate, double OpenPrice, double HighPrice, double LowPriceee, double ClosePrice, int Volume, String Splits)
        {
            System.out.println("analyse row detected ........................... X");

            String SLPoint = ""; 
            String SLType = ""; 
            String TLDPoint  = "";
            String TLUPoint = "";
            double STPoint; 
            double LTPoint;
            double MAPoint;

            boolean bTLUIsHorizontal  = false;
            double dPointDef;
            double dHorizontalPoints; 
            boolean TLDHorizontalIsSet  = false;
            boolean TLUHorizontalIsSet  = false;

            double dEntryPrice = 0; 
            double dStopLossPrice = 0;

            List objOpenLTOrders = null; 

            int intOpenLTOrdersCount = 0 ;

            List objLiveLTOrders = null; 

            int intLiveLTOrdersCount=0;

            List objOpenSTOrders=null;

            int intOpenSTOrdersCount=0;

            List objLiveSTOrders=null;
            int intLiveSTOrdersCount=0;
            List objContractSettings=null; 


            double dVolume = 0;
            double dGrossProfit=0;
            double dNetProfit=0;
            double dBrokerageCharge=0;
            double dSpreadCharge=0;

                        for(int i=0; i<count;i++)
                        {
    //                      'MsgBox(objSettingsServiceDataRow.SettingName & " - " & objSettingsServiceDataRow.SettingValue)
                            String caseOf = (settingsBusinessService.readRow(1).getSETTINGNAME());
    //                      Select Case objSettingsServiceDataRow.SettingName
                            EnumRule enum1 = EnumRule.valueOf("caseOf");


                            switch(enum1)
                            {
                                case caseOf:
                                {
                                    if( (settingsBusinessService.GetAllSettings(UserName, settings)).size() != 0)
                                    {
                                        //if (TransDate > tradingBusinessService.GetMaxStockDataTransDate(UserName, SymbolName).AddDays(Double.valueOf((objSettingsServiceDataRow.SettingValue))))
                                        {
                                            SaveLog(UserName, "WARNING DateTime Difference : Difference exceeded specified amount on trans " + SymbolName + " " + TransDate, Now(), 2);
                                            return 1;
                                            //break;
                                        }


                                    }
                                }


 }

我的枚举类:

package com.ib.client.mts.backend.BusinessService;

public enum EnumRule {

    caseOf, EUR

}

此类的bean ID是什么? 我正在尝试属性类型,但面临的错误是我需要一个构造器,因为我从未使用过它? 枚举类是否有任何特殊的bean id类型?

编辑:根据如何在Spring配置文件中为bean的属性分配Enum值? ,您只需使用枚举值即可:

<bean name="yourBean" class="your.pakage">
   <property name="type" value="EUR" />
</bean>

您可以使用静态valueOf方法作为工厂方法从Java枚举创建Spring bean。

使用您的EnumRule:

<bean id="yourBean" class="com.ib.client.mts.backend.BusinessService.EnumRule" factory-method="valueOf">
    <constructor-arg>
        <value>EUR</value>
    </constructor-arg>
</bean>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM