Для сложных типов значений не вкладывайте элемент карты, вместо этого используйте атрибуты value-ref
. По умолчанию элементы value
принимают только значения String
.
Свойство может быть строкой или может быть преобразовано в требуемый тип с использованием механизма JavaBeans PropertyEditor. Это позволяет разработчикам приложений писать собственные реализации PropertyEditor, которые могут преобразовывать строки в произвольные целевые объекты.
Обратите внимание, что это рекомендуется только для простых объектов. Сконфигурируйте более сложные объекты, заполнив свойства JavaBean ссылками на другие bean-компоненты.
Ваши данные будут выглядеть примерно так:
<util:map id="mapA" key-type="java.lang.Boolean">
<entry key="true" value="3T" />
<entry key="false" value="3U" />
</util:map>
<util:map id="map1">
<entry key="default" value-ref="mapA"/>
</util:map>
<util:map id="mapB" key-type="java.lang.Boolean">
<entry key="true" value="4T" />
<entry key="false" value="4U" />
</util:map>
<util:map id="map2">
<entry key="default" value-ref="mapB"/>
</util:map>
<util:map id="entirePayTypesMap">
<entry key="34" value-ref="map1"/>
<entry key="35" value-ref="map2"/>
</util:map>