1
해시 맵을 사용하여 bean에 대한 모든 setter 메소드를 호출하려고합니다. 키는 속성 이름이고 값은 setters를 호출하여 설정해야하는 실제 값입니다. 코드 때라도하는 문자열 proerties 완벽하게 작동하지만 INT와 같은 비 문자열 속성에 실패하는 등Java Bean 유틸리티가 비 String 유형의 모든 setter를 호출합니다.
for(Map.Entry<String, String> entry : settings.entrySet()){
try{
key = entry.getKey();
PropertyUtils.setProperty(bean, key, entry.getValue());
}
catch(Exception ex)
{
LOGGER.debug("failed...."+ex.getMessage());
}
}
위의 코드는 질문은
failed....Cannot invoke setter on bean class - argument type mismatch - had objects of type "java.lang.String" but expected signature "int"
failed....Cannot invoke setter on bean class - argument type mismatch - had objects of type "java.lang.String" but expected signature "double"
INT/더블 등과 같은 비 문자열 필드에 예외가 발생 더블 :이 예외를 피하는 방법,이 예외없이 setter를 성공적으로 호출하는 방법.
, 문제는 무엇을 줄 수 있습니까? – hooknc
질문 세부 사항과 함께 편집 됨. Txx – ATHER