1

HashBasedTablespring xml 構成ファイルでグアバを作成して入力しようとしていますが、できませんでした。

私のテーブルは次のようになります。

Table<String, Foo, Bar> myTable;

そして、私はxmlでこれを試しましたが、新しい値をテーブルに入れる方法がわかりません:

<property name="myTable">
        <bean class="com.google.common.collect.HashBasedTable" factory-method="create">
            <!--- how do I insert value in here??? -->
        </bean>
</property>
4

2 に答える 2

1

xml のみを使用する必要がない場合は、Java を使用して構成をもう少し読みやすくすることができます。

ユーティリティ メソッドを作成できます。

public class Utils {

    public static Table tableFromMap(Map<Object, Map<Object, Object>> map){
        Table ret = null;

        if(map != null){
            ret = HashBasedTable.create();

            for(Object k1 : map.keySet()){

                if(map.get(k1) != null){
                    for(Object k2 : map.get(k1).keySet()){
                        ret.put(k1, k2, map.get(k1).get(k2));
                    }
                }
            }
        }

        return ret;
    }
}

そして、これを構成に追加します

<bean id="mytable" class="it.myproject.Utils" factory-method="tableFromMap">
        <constructor-arg>
            <util:map>
                <entry key="A">
                    <util:map>
                        <entry key="B" value="C" />
                        <entry key="D" value="E" />
                    </util:map>
                </entry>
            </util:map>
        </constructor-arg>
    </bean>

この表の結果:

A | B | C
A | D | E
于 2014-05-28T10:32:20.303 に答える