반응형
이번 포스팅은 저번에 이어서 reflection 를 더 잘 사용하기 위한 포스팅이다.
reflection에 대한 내용은 아래 참고 포스팅을 활용 바란다.
아래 예시는 Map으로 Dto를 만들기 위한 샘플 메서드 이다.
public static Object mapToObject(Map map, Object obj){ String keyName = null; String methodName = null; Iterator itr = map.keySet().iterator(); while(itr.hasNext()){ keyName = itr.next().toString(); methodName = "set"+keyName.substring(0,1).toUpperCase()+keyName.substring(1); try { for (Method method: obj.getClass().getDeclaredMethods()){ if(methodName.equals(method.getName())){ method.invoke(obj, map.get(keyName)); } }catch (IllegalAccessException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } } return obj; } |
사용은 다음과 같이 한다.
//Map 선언해주기
TestDto dto = new TestDto();
dto = mapToObject(map,dto);
참고 포스팅
https://thenicesj.tistory.com/524
반응형
'IT > Java' 카테고리의 다른 글
Map 추출하는 방법 (37) | 2023.04.15 |
---|---|
application.properties vs application.yml (30) | 2023.04.11 |
Spring security 설정으로 인한 401 Unauthorized 에러 (28) | 2023.04.07 |
java 에서 동적 메서드 (reflection) (41) | 2023.04.04 |
[error] javassist.tools.web.Webserver <port number> (33) | 2023.04.02 |
댓글