Spring Boot/기타
-
[Spring Boot] Apache HttpClient 5 기반 RestClient 구성하기Spring Boot/기타 2024. 12. 29. 10:22
목차 RestClient는 HTTP 요청 시 다양한 HttpClient 라이브러리를 사용할 수 있으며, 이러한 라이브러리는 ClientHttpRequestFactory 인터페이스의 구현체에 의해 처리됩니다. RestClient에서 사용되는 ClientHttpRequestFactory 구현체는 다음과 같습니다.JdkClientHttpRequestFactory : Java의 기본 HttpClient를 사용HttpComponentsClientHttpRequestFactory : Apache HttpClient를 사용JettyClientHttpRequestFactory : Jetty의 HttpClient를 사용ReactorNettyClientHttpRequestFactory : Reactor Netty의 Htt..
-
[Spring Boot] Jedis를 활용하여 Redis에 JSON Path 기능을 테스트Spring Boot/기타 2024. 12. 11. 23:00
목차 Jedis 라이브러리를 사용하여 Redis에 JSON Path 기능을 활용하는 방법을 설명하겠습니다. 1. JSONPath & Redis JSON 개요JSONPath는 JSON 문서에서 데이터를 검색하거나 필터링할 때 유용한 쿼리 언어입니다. Redis는 JSON 데이터 타입을 직접 지원하며, JSONPath를 통해 데이터를 효과적으로 쿼리할 수 있습니다. JSONPath 주요 표현식 방식 표현식 예제 및 설명 전체 매칭 $JSON 문서의 루트 노드를 선택합니다. 예: $ 경로 접근 .특정 속성을 선택합니다. 예: $.store.book 배열 처리 [index] 또는 [*]배열 처리 [index] 또는 [*] 배열 인덱스로 접근하거나 배열의 모든 요소를 처리합니다. 예: $.store.boo..
-
[Spring Boot] Jedis를 활용하여 Redis에 대한 CRUD 작업을 테스트Spring Boot/기타 2024. 12. 11. 20:00
목차 Jedis를 활용하여 Redis에 대한 CRUD 작업을 수행하는 방법을 설명하겠습니다.1. Docker를 활용하여 Redis 환경 설정Docker를 사용하여 Redis 서버를 설치 및 실행합니다.docker run -d --name redis-stack -p 6379:6379 -p 8001:8001 redis/redis-stack:latest포트 6379: Redis 서버와의 기본 연결포트 8001: RedisInsight와 같은 GUI 도구와의 연결참고Docker Hub - redis/redis-stack2. 의존성 추가build.gradle 파일에 Redis 및 Jedis와의 연동에 필요한 의존성을 추가합니다. build.gradledependencies { // Redis imple..
-
[Spring Boot] RestClient, HttpInterface를 활용한 HTTP 요청Spring Boot/기타 2024. 11. 17. 00:35
목차 HttpInterface란?Spring 6에서는 HTTP 클라이언트를 사용하기 위한 새로운 방법으로 HttpInterface를 도입하였습니다. 이는 Spring HTTP 인터페이스를 통해 직관적이고 간편한 방법으로 HTTP 요청을 수행할 수 있게 합니다. 기존의 RestTemplate이나 WebClient와 달리, HttpInterface는 인터페이스를 선언하고 이를 구현하는 방식을 사용합니다.HttpInterface는 애노테이션과 프록시(Proxy) 패턴을 활용하여 HTTP 요청을 마치 메서드 호출처럼 사용할 수 있게 해줍니다. 이는 가독성이 좋고 테스트 편리하게 만들어 줍니다. 주요 애노테이션 및 기능HTTP 메서드별 애노테이션@HttpExchange : HTTP 인터페이스와 그 요청에 적용할..
-
[Spring Boot] RestClient를 활용한 HTTP 요청Spring Boot/기타 2024. 11. 10. 21:49
목차 RestClient란?Spring Framework 6.1 M2에서 새롭게 도입된 RestClient는 RestTemplate를 대체하는 동기식 HTTP 클라이언트입니다. 이 클라이언트는 HTTP 라이브러리에 대한 추상화를 제공하여 Java 객체를 HTTP 요청으로 쉽게 변환하고, HTTP 응답에서 객체를 생성할 수 있게 합니다. 또한, 가독성이 높은 API를 통해 간편하고 직관적인 사용성을 제공합니다. 주요 클래스와 메서드RestClient : HTTP 클라이언트를 생성하고 설정합니다.create() : 기본 설정으로 초기화된 새로운 RestClient 인스턴스를 생성합니다.builder() : 사용자 정의 설정을 통해 RestClient를 구성할 수 있는 빌더를 반환합니다.get() : HTTP..
-
[Spring Boot] RestTemplate를 활용한 HTTP 요청Spring Boot/기타 2024. 11. 10. 21:46
목차 RestTemplate란?RestTemplate은 Spring Framework의 HTTP 클라이언트로, RESTful 웹 서비스와 상호작용하여 쉽게 HTTP 요청을 보낼 수 있도록 도와줍니다. 주요 클래스와 메서드RestTemplate : HTTP 클라이언트를 생성하고 설정합니다.getForObject() : GET 요청을 URL에 보내고, 결과를 객체로 반환합니다.getForEntity() : GET 요청을 URL에 보내고, 결과를 ResponseEntity로 반환합니다.postForObject() : POST 요청을 URL에 보내고, 결과를 객체로 반환합니다.postForEntity() : POST 요청을 URL에 보내고, 결과를 ResponseEntity로 반환합니다.put() : PUT 요..
-
[Spring Boot] OpenSearch 연동Spring Boot/기타 2024. 7. 12. 23:27
1. Docker를 사용하여 OpenSearch 설치 및 실행1_1. OpenSearch 설치 Docker를 사용하여 로컬에 Opensearch를 설치하세요.docker pull opensearchproject/opensearch:1.3. 1_2. OpenSearch 실행 OpenSearch Docker 이미지를 다음의 명령어를 실행하여 로컬에서 실행하세요.docker run -p 9200:9200 -p 9600:9600 -e "discovery.type=single-node" -e DISABLE_SECURITY_PLUGIN=true opensearchproject/opensearch:1.3.171_3. OpenSearch 실행 상태 확인 OpenSearch가 정상적으로 실행되고 있는지 확인할 수 있습니..
-
[Spring Boot] Spring Cloud Config 연동Spring Boot/기타 2024. 3. 7. 23:35
Spring Cloud Config란?Spring Cloud Config는 애플리케이션의 설정 정보를 외부 저장소(GitHub Repository, File System 등)에서 가져와서 한 곳에서 관리하는 데 도움을 주는 라이브러리입니다. 장점애플리케이션의 모든 설정을 한 곳에서 관리할 수 있으며, 이를 통해 일관성을 유지하고 관리 용이성을 향상할 수 있습니다.설정값을 변경하고, 이러한 변경 사항은 애플리케이션의 재배포 없이 실시간으로 적용할 수 있습니다.단점외부 저장소(GitHub Repository, File System 등)에서 설정 정보를 가져오는데, 이러한 저장소에 장애가 발생하면 해당 설정 정보를 참조하는 시스템에 장애가 전파될 수 있습니다.설정 파일의 우선순위 따라 의도치 않은 설정값이 적..
-
[Spring Boot] Spring Boot 2.x에서 Spring Boot 3.x으로 버전 변경Spring Boot/기타 2023. 9. 6. 09:14
1. Java 17로 업그레이드Spring Boot 3.x부터는 Java 17 이상 버전이 필요하므로 프로젝트의 JDK를 업그레이드하세요.build.gradlejava { sourceCompatibility = '17'}참고 : https://spring.io/blog/2022/05/24/preparing-for-spring-boot-3-0 2. Gradle 버전 업그레이드Gradle 7.x(7.5 이상) 또는 8.x 이상 버전이 필요하므로 프로젝트의 Gradle를 업그레이드하세요.gradle-wrapper.propertiesdistributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distsdistributionUrl=https\://services.g..
-
[Spring Boot] RedisJSON 연동Spring Boot/기타 2023. 7. 17. 22:16
RedisJSON 모듈은 Redis에 대한 JSON 지원을 제공하며, 다른 Redis 데이터 유형과 마찬가지로 Redis 데이터베이스에서 JSON 값을 저장, 업데이트 및 검색할 수 있습니다.RedisJSON : https://redis.io/docs/stack/json/ 1. Docker를 사용하여 Redis 설치Docker를 사용하여 Redis를 로컬에 설치하세요.docker run -d --name redis-stack -p 6379:6379 -p 8001:8001 redis/redis-stack:latest포트 6379는 Redis 연결, 포트 8001는 RedisInsight에 사용됩니다.Docker Hub : https://hub.docker.com/r/redis/redis-stack Redi..