본문 바로가기
  • Code Smell

Language/Java15

[JAVA] No serializer found for class X.Y.Z and no properties discovered to create BeanSerializer No serializer found for class X.Y.Z and no properties discovered to create BeanSerializer ObjectMapper에 의한 객체를 문자열로 바꿀 때, 유효한 접근자를 찾을 수 없거나 결정할 수 없을 때 발생하는 에러이다. 또는 직렬화 할 어노테이션이 없는 경우에도 발생 할 수 있다. 기존 ObjectMapper 설정 public static Optional mapToString(Map map) { try { return Optional.of(new ObjectMapper().writeValueAsString(map)); } catch(Exception e) { log.error("Convert Map to Json Error", e); .. 2020. 3. 15.
[JAVA] Gson (Google Json) 사용하기 GSON 사용하기 Gson은 Json을 좀 더 편하게 사용할 수 있도록 Google에서 만든 Google Json 라이브러리 Object Class와 Json 간의 직렬/역직렬을 편하게 사용 가능하도록 도와줌 JsonSimple, Gson, Jackson 등의 json 라이브러리가 많은데, 대규모 용량이 아닌 상황에서는 gson이 좋은 성능을 보여줌. Maven 프로젝트인 경우 pom에 추가하고, 아닌경우 URL 들어가서 jar build path에 추가 com.google.code.gson gson TEST용 Object Class package sunghs.boot.gson; import java.util.UUID; import lombok.Data; public @Data class Models {.. 2019. 7. 19.
[JAVA] HTTPS 에서 HTTP 프로토콜 변경 시 세션 유지시키기 HTTPS 에서 HTTP로 프로토콜 변경 시 세션 유지 먼저 HTTPS로 들어온 세션을 쿠키로 만들어 줄 Wrapper Class가 필요하다. import java.util.Collections; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Http.. 2019. 5. 21.
[JAVA] HttpServletRequest Parameter 추가 HttpServletRequest Parameter 추가 HttpServletRequest 클래스에는 getParameter만 있고 setParameter는 없다. 클라이언트 단에서 날아온 값으로 서블릿에서는 setAttribute 함수밖에 없으며 setAttribute 값은 getAttribute로 밖에 꺼내올 수 없는데, setAttribute와 setParameter에는 서버에서 세팅했는지, 클라이언트에서 세팅했는지에 대한 차이가 있다. 따라서 다른 API / 라이브러리 등에서 getParamter를 하기전에 이미 들어있는 값을 바꾸려면 httpServletRequest를 전부 복사해서 다시 만들어야 한다. HttpServletRequest를 전부 복사해서 갈아끼우는 Class import java.. 2019. 4. 30.
[JAVA] 두 날짜 사이 월 구하기 두 날짜 사이 월 구하기 public static List getMonthList(String startDate, String endDate) { List result = new ArrayList(); int sy = Integer.parseInt(startDate.substring(0, 4)); int sm = Integer.parseInt(startDate.substring(4, 6)); int ey = Integer.parseInt(endDate.substring(0, 4)); int em = Integer.parseInt(endDate.substring(4, 6)); int period = (ey - sy) * 12 + (em - sm); if(period == 0) result.add(start.. 2019. 2. 19.
[JAVA] TEXT를 IMAGE로 변환 (Text To Image Convert) TEXT를 IMAGE로 변환 (Text To Image Convert) 회사에서 일할때 소스 AS-IS, TO-BE 컴페어를 이미지로 떠야하는데 매번 캡처도구 쓰기 귀찮아서 디렉토리에 넣어 놓으면 평문 파일을 전부 이미지화 시키는 프로그램을 시간날 때 만들어봤다. 아직 조금 더 다듬어야 하는데 (확장자 검사, 바이너리 파일 검사, 한글, 영어 외 다른 문자열 검색, 캐릭터 인코딩 별 할수 있는것 등등) 일단 지나가는 사람에게 도움 되라고 올려봄. 소스 원리 디렉토리 내의 모든 파일을 확인 파일의 내용을 리스트에 담고, 그걸 찍어 내려가기 시작함. 찍은 다음에 같은 디렉토리 안에 확장자만 PNG로 바꿔서 떨궈준다. import java.awt.Color; import java.awt.Font; import.. 2018. 3. 20.