반응형

Spring의 @DynamicPropertySource 사용방법(예제)

1. 개요 오늘날의 애플리케이션은 따로 떨어져 있지 않습니다. 일반적으로 PostgreSQL, Apache Kafka, Cassandra, Redis 및 기타 외부 API와 같은 다양한 외부 구성 요소에 연결해야 합니다. 이 예제에서는 Spring Framework 5.2.5가 동적 속성을 도입하여 이러한 애플리케이션을 테스트하는 것을 어떻게 용이하게 하는지 볼 것 입니다. 먼저 문제를 정의하고 이상적이지 않은 방식으로 문제를 해결하는 데 사용한 방법을 살펴보는 것으로 시작하겠습니다. 그런 다음 @DynamicPropertySource 어노테이션을 소개 하고 동일한 문제에 대해 더 나은 솔루션을 제공하는 방법을 살펴보겠습니다. 마지막으로 순수한 Spring 솔루션과 비교하여 월등할 수 있는 테스트 프레임..

Spring 2021.09.12

Spring Boot 및 Swagger UI로 JWT 설정

1. 소개 이 짧은 사용방법(예제)에서는 API를 호출할 때 JSON 웹 토큰(JWT)을 포함하도록 Swagger UI를 구성하는 방법을 볼 것입니다. 2. 메이븐 의존성 이 예에서는 Swagger 및 Swagger UI 작업을 시작하는 데 필요한 모든 의존성을 포함 하는 springfox-boot-starter를 사용 합니다. pom.xml 파일에 추가해 보겠습니다 . org.springframework.boot spring-boot-starter-web io.springfox springfox-boot-starter 3.0.0 3. 스웨거 구성 먼저 JWT를 인증 헤더로 포함하도록 ApiKey 를 정의해야 합니다 . private ApiKey apiKey() { return new ApiKey("JW..

Spring 2021.09.12

Spring @ConditionalOnProperty 어노테이션

1. 개요 이 짧은 사용방법(예제)에서는 @ConditionalOnProperty 어노테이션 의 주요 목적에 대해 설명 합니다. 먼저 @ConditionalOnProperty 가 무엇인지에 대한 약간의 배경 지식으로 시작하겠습니다 . 그런 다음 작동 방식과 제공하는 기능을 이해하는 데 도움이 되는 몇 가지 실용적인 예를 살펴보겠습니다. 2. @ConditionalOnProperty 의 목적 일반적으로 Spring 기반 애플리케이션을 개발할 때 구성 속성의 존재와 값에 따라 조건부로 일부 빈 을 생성 해야 할 수도 있습니다 . 예를 들어 속성 값을 "prod" 또는 "test"로 설정했는지 여부에 따라 프로덕션 또는 테스트 데이터베이스를 가리키도록 DataSource 빈 을 등록할 수 있습니다 . 다행히도..

Spring 2021.09.12

데이터베이스에 의해 인덱싱된 파일 저장

1. 개요 일종의 콘텐츠 관리 솔루션을 구축할 때 두 가지 문제를 해결해야 합니다. 파일 자체를 저장할 장소가 필요하고 이를 색인화할 데이터베이스가 필요합니다. 파일의 내용을 데이터베이스 자체에 저장하거나 내용을 다른 곳에 저장하고 데이터베이스와 함께 색인을 생성할 수 있습니다. 이 기사에서는 기본 이미지 아카이브 애플리케이션을 사용하여 이 두 가지 방법을 모두 설명합니다. 업로드 및 다운로드를 위한 REST API도 구현합니다. 2. 사용 사례 이미지 아카이브 애플리케이션을 사용하면 JPEG 이미지 를 업로드 및 다운로드 할 수 있습니다 . 이미지를 업로드하면 애플리케이션에서 이미지에 대한 고유 식별자를 생성합니다. 그런 다음 이 식별자를 사용하여 다운로드할 수 있습니다. Spring Data JPA ..

Spring 2021.09.12

Spring Boot의 DispatcherServlet 및 web.xml

1. 개요 DispatcherServlet은 Spring 웹 애플리케이션에서 전면 컨트롤러입니다. Spring MVC에서 웹 애플리케이션 및 REST 서비스를 생성하는 데 사용됩니다. 전통적인 Spring 웹 애플리케이션에서 이 서블릿은 web.xml 파일에 정의되어 있습니다. 이 사용방법(예제)에서는 web.xml 파일의 코드를 Spring Boot 애플리케이션의 DispatcherServlet 으로 마이그레이션 합니다. 또한 web.xml의 Filter , Servlet 및 Listener 클래스를 Spring Boot 애플리케이션에 매핑 합니다. 2. 메이븐 의존성 먼저 pom.xml 파일에 spring-boot-starter-web Maven 의존성을 추가해야 합니다. org.springframe..

Spring 2021.09.12

Apache Mesos 사용방법(예제)

1. 개요 우리는 일반적으로 동일한 머신 클러스터에 다양한 애플리케이션을 배포합니다. 예를 들어 오늘날에는 Apache Spark 또는 Apache Flink 와 같은 분산 처리 엔진을 동일한 클러스터에 Apache Cassandra 와 같은 분산 데이터베이스와 함께 사용 하는 것이 일반적입니다. Apache Mesos는 이러한 애플리케이션 간에 효과적인 리소스 공유를 허용하는 플랫폼입니다. 이 기사에서는 먼저 동일한 클러스터에 배포된 애플리케이션 내 리소스 할당의 몇 가지 문제에 대해 논의합니다. 나중에 Apache Mesos가 애플리케이션 간에 더 나은 리소스 활용도를 제공하는 방법을 살펴보겠습니다. 2. 클러스터 공유 많은 애플리케이션이 클러스터를 공유해야 합니다. 일반적으로 두 가지 일반적인 접근..

Spring 2021.09.12

JPA에서 인덱스 정의

1. 소개 이 사용방법(예제)에서는 JPA의 @Index 어노테이션을 사용하여 인덱스를 정의하는 방법에 대해 설명 합니다. 예제를 통해 JPA와 Hibernate를 사용하여 첫 번째 인덱스를 정의하는 방법을 배웁니다. 그런 다음 인덱스를 사용자 지정하는 추가 방법을 보여주는 정의를 수정할 것입니다. 2. @인덱스 어노테이션 빠른 요약을 통해 시작하겠습니다. 데이터베이스 인덱스는 추가 쓰기 및 저장 공간을 희생 하여 테이블에 대한 데이터 검색 작업의 속도를 향상시키는 데이터 구조입니다 . 대부분 단일 테이블에서 선택한 데이터 열의 복사본입니다 . 지속성 계층의 성능을 높이려면 인덱스를 만들어야 합니다. JPA를 사용하면 @Index를 사용하여 코드에서 인덱스를 정의하여 이를 달성할 수 있습니다 . 이 어노..

Spring 2021.09.11

Web3j를 사용하는 경량 이더리움 클라이언트

1. 소개 이 예제에서는 널리 사용되는 Web3 추상화 라이브러리의 Java 구현인 Web3j를 소개합니다. Web3j는 JSON-RPC 또는 HTTP, WebSockets, IPC와 같은 친숙한 표준을 사용하여 Ethereum 노드에 연결하여 Ethereum 네트워크와 상호 작용하는 데 사용됩니다 . Ethereum은 그 자체로 전체 주제이므로 먼저 그것이 무엇인지 간단히 살펴 보겠습니다! 2. 이더리움 이더리움은 (1) 암호화폐 (토큰 심볼 ETH ), (2) 분산 슈퍼컴퓨터, (3) 블록체인, (4) Solidity로 작성된 스마트 계약 네트워크입니다 . 즉, 이더리움( 네트워크 )은 일종의 메시 토폴로지(기술적으로 이것은 정확하지 않지만 작동 방식에 대한 보다 확실한 이해를 얻을 수 있을 만큼 가..

Spring 2021.09.11

Jackson ObjectMapper 소개

1. 개요 이 사용방법(예제)는 Jackson ObjectMapper 클래스 를 이해하고 Java 개체를 JSON으로 직렬화하고 JSON 문자열을 Java 개체로 역직렬화하는 방법 에 중점을 둡니다 . 일반적으로 Jackson 라이브러리에 대해 더 많이 이해하려면 Jackson Tutorial 을 시작하는 것이 좋습니다. 2. 의존성 먼저 다음 의존성을 pom.xml에 추가해 보겠습니다 . com.fasterxml.jackson.core jackson-databind 2.11.1 이 의존성은 또한 클래스 경로에 다음 라이브러리를 전이적으로 추가합니다. 잭슨 어노테이션 잭슨 코어 jackson-databind 에는 항상 Maven 중앙 저장소의 최신 버전을 사용하십시오 . 3. ObjectMapper를 사..

Spring 2021.09.11

JobRunr를 사용한 Spring의 백그라운드 작업

1. 개요 이 예제에서는 JobRunr를 사용하여 Java에서 분산 백그라운드 작업 스케줄링 및 처리를 살펴보고 이를 Spring과 통합할 것입니다. 2. 잡런에 대해 JobRunr 은 애플리케이션에 포함할 수 있고 Java 8 람다를 사용하여 백그라운드 작업을 예약할 수 있는 라이브러리입니다. 인터페이스를 구현할 필요 없이 작업을 생성하기 위해 Spring 서비스의 기존 방법을 사용할 수 있습니다. 작업은 단기 또는 장기 실행 프로세스일 수 있으며 현재 웹 요청이 차단되지 않도록 자동으로 백그라운드 스레드로 오프로드됩니다. 작업을 수행하기 위해 JobRunr는 Java 8 람다를 분석합니다. JSON으로 직렬화하고 관계형 데이터베이스 또는 NoSQL 데이터 저장소에 저장합니다. 3. JobRunr 기능..

Spring 2021.09.11
반응형