Java/기타
-
[JAVA] HttpClient를 활용한 HTTP 요청Java/기타 2024. 10. 28. 12:55
목차 HttpClient는 Java 11에서 도입된 HTTP 클라이언트 API로, 비동기 및 동기 방식의 HTTP(S) 요청을 손쉽게 수행할 수 있게 해주는 클래스입니다. HttpClient를 사용하면 성능이 향상되고, HTTP/2 및 Web Socket을 지원하는 등 여러 가지 이점을 제공합니다. 주요 클래스와 메서드HttpClient: HTTP 클라이언트를 생성하고 설정합니다.newBuilder(): 새로운 빌더 인스턴스를 생성합니다.build(): 설정된 빌더를 사용하여 HttpClient 인스턴스를 생성합니다.send(): 동기 방식으로 HTTP 요청을 전송합니다.sendAsync(): 비동기 방식으로 HTTP 요청을 전송합니다.HttpRequest: HTTP 요청을 생성하고 설정합니다.newBu..
-
[JAVA] Optional 클래스 사용 방법Java/기타 2024. 10. 5. 08:21
목차 Java 8에서 도입된 Optional 클래스는 값이 있을 수도, 없을 수도 있는 상황을 표현하는 컨테이너 객체입니다. 이를 활용하면 null을 직접 다루는 대신 명시적으로 존재 여부를 처리할 수 있습니다. 이번 포스트에서는 Optional 클래스의 다양한 메서드를 활용한 테스트 예제를 살펴보겠습니다.주요 메서드Optional.ofNullable(T value) : 주어진 값이 null일 수 있는 경우 이 메서드를 사용하여 Optional 인스턴스를 생성할 수 있습니다. 값이 null인 경우 비어 있는 Optional을 반환합니다.Optional.orElse(T other) : Optional이 비어 있을 때 대체값을 반환합니다. 값이 존재하면 해당 값을 반환하고, 그렇지 않으면 제공한 대체값을 반..
-
[JAVA] Java 8 이전과 이후의 날짜 및 시간 비교 방법Java/기타 2024. 10. 4. 23:51
목차 Java 8은 날짜와 시간 API에 큰 변화를 가져왔습니다. Java 8 이전의 `Date`와 `Calendar` 클래스는 여러 단점이 있었으며 이를 보완하기 위해 Java 8에서는 `LocalDate`, `LocalTime`, `LocalDateTime` 같은 새로운 클래스가 도입되었습니다. 본 포스트에서는 Java 8 이전과 이후의 날짜 및 시간 비교 방법을 다양한 예제와 함께 살펴보겠습니다. Java 8 이후 클래스 LocalDate : 날짜를 나타내는 클래스입니다. 연도, 월, 일 정보를 포함하며, 시간 정보는 포함하지 않습니다. LocalTime : 시간을 나타내는 클래스입니다. 시, 분, 초 정보를 포함하며, 날짜 정보는 포함하지 않습니다. LocalDateTime : 날짜와 시간을 모두..
-
[Java] MapStruct를 활용한 객체 변환Java/기타 2024. 9. 21. 07:19
mapstruct 라이브러리는 Java Bean 매핑을 간편하게 수행할 수 있도록 도와주는 애너테이션 기반의 코드 생성 라이브러리입니다. 이번 포스트에서는 Flattening과 Projection을 통해 MapStruct의 사용법을 알아보겠습니다. 1. 라이브러리 추가Gradle 설정dependencies { // Lombok - MapStruct보다 먼저 정의 compileOnly 'org.projectlombok:lombok:1.18.34' annotationProcessor 'org.projectlombok:lombok:1.18.34' testCompileOnly 'org.projectlombok:lombok:1.18.34' testAnnotationProcessor 'o..
-
[Java] ModelMapper를 활용한 객체 변환Java/기타 2024. 8. 17. 10:22
org.modelmapper 라이브러리는 복잡한 객체를 단순화하거나, 단순한 객체를 복잡하게 변환하는데 유용합니다. 이번 포스트에서는 두 가지 주요 변환 방식인 Flattening과 Projection을 통해 ModelMapper의 사용법을 알아보겠습니다.1. 라이브러리 추가com.jayway.jsonpath:json-path:2.9.0는 Java에서 JSON 데이터를 다루기 위해 사용하는 라이브러리입니다. Gradle 설정build.gradle 파일에 다음과 같이 의존성을 추가합니다.// ModelMapperimplementation 'org.modelmapper:modelmapper:3.2.1'Maven Repository : https://mvnrepository.com/artifact/org.mo..
-
[Java] JSONPath로 JSON 데이터 다루기Java/기타 2024. 8. 17. 10:07
JSONPath는 JSON 데이터를 효율적으로 탐색하고, 특정 값을 추출하거나 필터링하는 쿼리 언어입니다. 이번 포스트에서는 com.jayway.jsonpath 라이브러리 사용하여 Java에서 JSON 데이터를 다루는 방법을 살펴보겠습니다.JSONPath 개요JSONPath는 JSON 문서를 대상으로 SQL과 유사한 구문을 사용하여 JSON 데이터의 특정 값을 추출할 수 있습니다. 대표적인 JSONPath 구문은 다음과 같습니다.JSON 경로 설명JSON 경로설명$루트 객체를 나타냅니다.@현재 객체를 나타냅니다.. 또는 [] 자식을 나타냅니다.*모든 요소를 나타냅니다... 모든 하위 요소를 재귀적으로 탐색합니다.?()필터링 조건을 나타냅니다. 1. 라이브러리 추가com.jayway.jsonpath:jso..
-
[Java] DOM4J를 이용한 XML(문자열, 파일) 파싱Java/기타 2021. 9. 23. 22:05
Maven 설정 org.dom4j dom4j 2.1.3Maven Repository : https://mvnrepository.com/artifact/org.dom4j/dom4j/2.1.3 문자열 및 파일 파싱import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class StringToXml { public static void main(String[] args) throws Exception { // 1. XML 로드 // 1-1. 문자열 파싱 시 ..
-
[Java] JDOM2을 이용한 XML(문자열, 파일) 파싱Java/기타 2021. 9. 23. 22:02
Maven 설정 org.jdom jdom2 2.0.6Maven Repository : https://mvnrepository.com/artifact/org.jdom/jdom2/2.0.6 문자열 및 파일 파싱import java.io.File;import java.io.StringReader;import java.util.List;import org.jdom2.Document;import org.jdom2.Element;import org.jdom2.input.SAXBuilder;public class StringToXml { public static void main(String[] args) throws Exception { // 1. XML 로드 // 1..
-
[JAVA] HttpURLConnection을 활용한 HTTP 요청Java/기타 2021. 7. 4. 15:58
목차 HttpURLConnection이란?HttpURLConnection은 Java에서 표준 HTTP(S) 통신을 제공하기 위한 클래스입니다. 이 클래스는 HTTP 요청을 보내고, 서버로부터 응답을 받아 처리하는 기능을 제공합니다. 주요 메서드setRequestMethod(String method) : HTTP 요청 메서드를 설정합니다. 예: GET, POST, PUT, DELETE, PATCHsetConnectTimeout(int timeout) : 연결을 시도할 때의 타임아웃 시간을 설정합니다. 단위는 밀리초입니다.setReadTimeout(int timeout) : 데이터 읽기를 시도할 때의 타임아웃 시간을 설정합니다. 단위는 밀리초입니다.setRequestProperty(String key, St..
-
[JAVA] Jackson 라이브러리를 이용한 형변환Java/기타 2021. 7. 4. 15:22
목차 Jackson 라이브러리를 사용하여 JSON 데이터를 Java 객체로 변환하거나, Java 객체를 JSON 데이터로 변환하는 유틸리티 메서드를 제공합니다. 이 클래스는 다양한 형식의 JSON 데이터를 처리할 수 있는 간편하고 확장 가능한 기능을 제공합니다. Jackson 라이브러리 설정우선, Gradle 프로젝트에서 Jackson 라이브러리를 사용하기 위해 build.gradle 파일에 다음과 같이 Jackson 라이브러리를 추가합니다.dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind:2.18.0' implementation 'com.fasterxml.jackson.core:jackson-core:2.18..