Spring Boot

Spring Boot MongoDB Map的Key包含点

2017-08-31  本文已影响433人  Qihang

spring boot contains dots but no replacement was configured! Make sure map keys don't contain dots in the first place or configure an appropriate replacement!

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
protected String potentiallyEscapeMapKey(String source) {
    if(!source.contains(".")) {
        return source;
    } else if(this.mapKeyDotReplacement == null) {
        throw new MappingException(String.format("Map key %s contains dots but no replacement was configured! Make sure map keys don't contain dots in the first place or configure an appropriate replacement!", new Object[]{source}));
    } else {
        return source.replaceAll("\\.", this.mapKeyDotReplacement);
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean   id="mongoMoxydomainConverter"
        class="org.springframework.data.mongodb.core.convert.MappingMongoConverter">
    <constructor-arg index="0" ref="mongoDbFactory" />
    <constructor-arg index="1">
        <bean class="org.springframework.data.mongodb.core.mapping.MongoMappingContext"/>
    </constructor-arg>
    <property name="mapKeyDotReplacement" value="\\+"/>
    </bean>
</beans>
@SpringBootApplication
@ImportResource("classpath:mongo.xml")
上一篇 下一篇

猜你喜欢

热点阅读