0
오류가 발생하여 디버깅 할 위치를 알 수 없습니다.봄 + 사용자 지정 변환기 + 몽고
ConverterNotFoundException : 없음 컨버터 유형 @ javax.validation.constraints.NotNull java.util.HashMap에 < @ javax.validation.constraints.NotNull java.lang.String의, @ javax.validation.constraints에서 변환 할 찾을 수 없습니다. NOTNULL java.util.Date> 내 애플리케이션 컨텍스트 설정
java.lang.String의를 입력 :
<mongo:mapping-converter id="mongoConverter" base-package="com.app">
<mongo:custom-converters>
<mongo:converter>
<bean class="com.app.util.converter.HashMapToStringConverter" />
</mongo:converter>
<mongo:converter>
<bean class="com.app.util.converter.StringToHashMapConverter" />
</mongo:converter>
</mongo:custom-converters>
</mongo:mapping-converter>
<bean class="org.springframework.data.mongodb.core.MongoTemplate" id="mongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory"/>
<constructor-arg name="mongoConverter" ref="mongoConverter"/>
</bean>
내 컨버터 한 것은 :
public class HashMapToStringConverter implements Converter<HashMap<String,Date>, String>{
@Override
public String convert(HashMap<String,Date> map) {
if(map==null){
throw new ConversionFailedException(TypeDescriptor.valueOf(HashMap.class),
TypeDescriptor.valueOf(String.class), map, null);
}
StringBuilder sb = new StringBuilder();
boolean first = true;
for(Map.Entry<String, ?> e: map.entrySet()){
if(!first){
sb.append(",");
first=!first;
}
sb.append(e.getKey());
sb.append("::");
sb.append(e.getValue());
}
return sb.toString();
}
}