본문 바로가기
  • A space that records me :)

Language/JAVA11

[JAVA] ObjectUtil [2021.12.15] 이 포스트는 아래의 글에서 파생되었다. Object를 Map으로 변환하여, 특정 경로와 특정 값이 존재하는지 판단하는 유틸리티이다. 2021.12.19 - [IT story/Spring] - [Spring] RestTemplate - Java에서 HTTP 통신 [Spring] RestTemplate - Java에서 HTTP 통신 [2021.12.15] 데이터베이스에 저장된 데이터를 기반으로 자동으로 http 통신을하는 기능을 구현하였다. 아직 프로젝트 기획 전이라서 해당 기능에 대항 정확한 서비스가 명시되지 않았지만 기본 플 yjkim97.tistory.com Exception은 실제 구현할 때는 커스텀한 exception으로 내렸다. ObjectUtil.java /** * * @.. 2021. 12. 19.
[JAVA] HttpUtil [2021.12.15] 이 포스트는 아래 게시글에서 파생된다. Spring RestTemplate 통신할때 사용되는 유틸리티이다. 2021.12.19 - [IT story/Spring] - [Spring] RestTemplate - Java에서 HTTP 통신 [Spring] RestTemplate - Java에서 HTTP 통신 [2021.12.15] 데이터베이스에 저장된 데이터를 기반으로 자동으로 http 통신을하는 기능을 구현하였다. 아직 프로젝트 기획 전이라서 해당 기능에 대항 정확한 서비스가 명시되지 않았지만 기본 플 yjkim97.tistory.com 특수한 도메인에서 path param, query param, request body 파라미터를 생성하는 유틸리티이다. 구현 로직중에서 Except.. 2021. 12. 19.
[JAVA] java에서 shell command 실행 2021.11.24 SpringBoot 백엔드 서버에서 데이터베이스에 등록된 command를 실행하고 그 응답을 받아오는 기능을 구현하게 되었다. 본격적으로 구현하기에 앞서 어떻게 실행하고 결과를 받아오는지 한번 간단한 예제를 만들어 보았다. 실행하고 결과를 받아오는 것은 생각보다 매우 쉬웠다. 분명 추가적인 예외처리는 필요 할 것이다. 개발환경 Spring Boot JAVA 8 Mac OS Java 코드로 shell 명령어를 실행하는 방법에는 두가지가 있다. 첫번째는 Runtime 클래스를 사용하는 것이고, 두번째는 ProcessBuilder 인스턴스를 사용하는 것이다. Runtime ProcessBuilder (Spring boot에서는 ProcessBuilder를 사용하는 것을 권장한다.) 1. O.. 2021. 11. 24.
[JAVA] JsonUtils import java.io.IOException; import java.util.List; import java.util.Map; import org.springframework.boot.json.JsonParseException; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode.. 2021. 5. 10.
[JAVA] PropertyDescriptor 클래스 하위클래스 : IndexedPropertyDescriptor 상위클래스 : FeatureDescriptor PropertyDescriptor는 Object의 한쌍의 접근자 메서드(getMethod, setMethod)의 속성을 다루는 클래스이다. A PropertyDescriptor describes one property that a Java Bean exports via a pair of accessor methods. 생성자 PropertyDescriptor(String propertyName, Class beanClass) get/set 접근자 메서드를 사용하는 속성에 대한 PropertyDescriptor를 구성한다. PropertyDescriptor(String propertyName, Cla.. 2020. 11. 30.
[JAVA] ReflectionUtil [util] - ReflectionUtil.java package com.kt.tbb.iptv.coupon.framework.util; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Array; import java.lang.reflect.Field; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.ArrayList; import java.uti.. 2020. 11. 30.
[JAVA] AES256, SHA256 - 암호화 복호화 base64 메이븐 추가 Apache Commons에서 저 두개를 하면 전체 다 import인가? commons-codec commons-codec 1.13 org.apache.commons commons-lang3 org.apache.commons commons-math3 SHA256 - 암호화 SHA256은 암호화만 가능하며 복호화할 수 없다. (암호화 키가 없기 때문) 256bit의 hash 값이다. public static String encryptSHA256(String value) throws NoSuchAlgorithmException{ StringBuffer encryptData = new StringBuffer(); MessageDigest sha = MessageDigest.getIns.. 2020. 11. 30.
[JAVA] FilterChain, doFilter - API 호출 기록 DB에 저장하기 FilterChain의 doFilter사용 Bean 등록 - BeanConfig.java @Bean public ApiLoggingFilter getApiLogginFilter() { ApiLoggingFilter apiLoggingFilter = new ApiLoggingFilter(); return apiLoggingFilter; } FilterChain.doFilter() - ApiLoggingFilter.java package com.kt.tbb.iptv.coupon.framework.servlet; import com.kt.tbb.iptv.coupon.business.interlock.e2e.E2eService; import com.kt.tbb.iptv.coupon.business.operati.. 2020. 11. 19.
[JAVA] 두개 Object의 값 비교하기 Object vs Object , Map vs Map // 두개의 object비교 -> map으로 전환후 map 비교 public static Map compareObject(Object obj1, Object obj2) { if(ObjectUtils.isEmpty(obj1) || ObjectUtils.isEmpty(obj2) || obj1.getClass() != obj2.getClass()) { return null; } return CommonUtils.compareMap(MapToModel.converObjectToMap(obj1), MapToModel.converObjectToMap(obj2)); } // 두개의 map 비교 public static Map compareMap(Map map1, .. 2020. 11. 19.