Back/Java8 [JAVA] Reflection 이용해서 필드값 set 하기 상황VO클래스에 있는 필드에 접근하여 그 값이 "" (공백)인지 체크하고, "" (공백)이면 null을 set해주어야 한다.만약 reflection을 사용하지 않고 넘어온 VO를 일일이 확인하고 바꿔주면 코드가 굉장히 중복되게 나열된다. 해결방법public void changeBlankToNull(TestVo testVo){ // null 변경 처리 ('' -> null) Arrays.stream(testVo.class.getDeclaredFields()) .filter(field -> { field.setAccessible(true); Object value = null; try { .. 2022. 4. 11. [JAVA] 데이터 직렬화(serialization) 하는 이유 👀궁금증? 프로젝트를 진행하면서 DTO, VO 클래스 명 끝에 implements Serializable 이렇게 붙이는 경우를 많이 봤다. 당장 눈에 보이는 효과는 없는 것 같은데 왜 직렬화를 해주어야 하는지 의문이 생겼다. 아직 100% 이해한 것은 아니지만, 알아본 바 대로 정리해보려고 한다. ✔️private static final long serialVersionUID 는 왜 사용하나? 도메인 객체에 private static final long serialVersionUID = 8999559983943337176L; 이런 식으로 멤버변수가 들어 있는 경우가 있다. 이를 사용하는 이유는 type safety 때문이다. 예를들어 직렬화한 객체를 원격지에 전송을 했다고 했을 경우에 전송된 객체의 클래.. 2022. 2. 11. 이전 1 2 다음