반응형

Spring Boot의 캐시 제거

1. 개요 이 빠른 사용방법(예제)에서는 Spring을 사용하여 캐시 제거를 수행하는 방법을 배웁니다 . 이를 시연하기 위해 작은 예를 만들겠습니다. 진행하기 전에 Spring 캐싱 작동 방식에 대해 알아보려면 Guide To Caching in Spring 문서를 확인하세요 . 2. 캐시를 제거하는 방법은 무엇입니까? Spring은 메소드에 @CacheEvict 어노테이션을 사용하거나 CacheManger를 자동 연결하고 clear() 메소드 를 호출하여 캐시를 지우는 두 가지 방법으로 캐시를 제거하는 두 가지 방법을 제공합니다 . 코드에서 이러한 두 가지 캐시 제거 메커니즘을 구현하는 방법은 다음과 같습니다. 2.1. @CacheEvict 사용 @CacheEvict 어노테이션이 있는 빈 메소드를 생성..

Spring 2023.02.24

Spring에서 속성 파일 다시 로드

1. 개요 이 사용방법(예제)에서는 Spring 애플리케이션에서 속성을 다시 로드하는 방법을 배웁니다 . 2. Spring에서 속성 읽기 Spring에서 속성에 액세스할 수 있는 여러 가지 옵션이 있습니다. 환경 — 환경을 주입한 다음 주어진 속성을 읽기 위해 Environment#getProperty를 사용할 수 있습니다. 환경에는 시스템 속성, -D 매개변수 및 application.properties(.yml) 와 같은 다양한 속성 소스가 포함됩니다 . @PropertySource를 사용하여 환경 에 추가 속성 소스를 추가할 수도 있습니다 . Properties — 속성 파일을 Properties 인스턴스 에 로드한 다음 properties.get("property")을 호출하여 bean에서 사용할..

Spring 2023.02.24

Cassandra, Astra, REST 및 GraphQL로 대시보드 구축 - 기록 상태 업데이트

1. 소개 이전 기사 에서 DataStax Astra를 사용하여 Avengers의 현재 상태를 보기 위한 대시보드를 구축하는 방법을 살펴보았습니다 . DataStax Astra는 Stargate 를 사용하여 작업을 위한 추가 API를 제공하는 Apache Cassandra 로 구동되는 DBaaS입니다 . Cassandra와 Stargate로 구축된 어벤져스 상태 대시보드 이 문서에서는 롤업된 요약 대신 개별 이벤트를 저장하도록 이를 확장할 것입니다. 이렇게 하면 UI에서 이러한 이벤트를 볼 수 있습니다. 우리는 사용자가 단일 카드를 클릭하고 우리를 이 지점으로 이끈 이벤트 표를 얻을 수 있도록 할 것입니다. 요약과 달리 이러한 이벤트는 각각 하나의 어벤저와 하나의 개별 시점을 나타냅니다. 새 이벤트가 수..

Spring 2023.02.24

컨테이너 이름에서 Docker 컨테이너 ID 가져오기

1. 개요 Docker 는 매우 널리 채택된 컨테이너화 기술입니다. 컨테이너에서 다양한 애플리케이션을 실행할 수 있습니다. 컨테이너를 시작할 때 컨테이너 이름을 제어할 수 있지만 ID는 Docker에서 생성됩니다. Docker 호스트에서 특정 작업을 수행하려면 이 ID가 필요할 수 있으므로 이름에서 컨테이너 ID를 찾는 것은 매우 일반적인 요구 사항입니다. 이 짧은 사용방법(예제)에서는 이름에서 컨테이너 ID를 찾는 다양한 방법에 대해 설명합니다. 2. 예제 설정 예시로 사용할 몇 가지 컨테이너를 만들어 보겠습니다. $ docker container run --rm --name web-server-1 -d nginx:alpine $ docker container run --rm --name web-ser..

Spring 2023.02.24

Java의 JSON 스키마 소개

1. 개요 JSON 스키마는 JSON 객체 의 형식과 구조를 검증하기 위한 선언적 언어입니다. 유효한 JSON 개체가 어떻게 생겼는지정확히 설명하기 위해 특수 프리미티브의 수를 지정할 수 있습니다 JSON 스키마 사양은 세 부분으로 나뉩니다. JSON 스키마 코어 : JSON 스키마 코어 사양은 스키마에 대한 용어가 정의되는 곳입니다. JSON 스키마 유효성 검사 : JSON 스키마 유효성 검사 사양은 유효성 검사 제약 조건을 정의하는 유효한 방법을 정의하는 문서입니다. 이 문서는 또한 JSON API에 대한 유효성 검사를 지정하는 데 사용할 수 있는 키워드 세트를 정의합니다. 다음 예에서는 이러한 키워드 중 일부를 사용합니다. JSON Hyper-Schema : 하이퍼링크 및 하이퍼미디어 관련 키워드가..

Spring 2023.02.24

Log4j2 – 파일과 콘솔 모두에 로깅

1. 개요 이 사용방법(예제)에서는 Apache Log4j2 라이브러리를 사용하여 파일과 콘솔 모두에 메시지를 기록하는 방법을 살펴봅니다 . 이는 콘솔에서 디버그 메시지를 확인하고 이후 분석을 위해 상위 수준 로그를 파일에 유지하려는 비생산 환경에서 매우 유용합니다. 2. 프로젝트 설정 Java 프로젝트를 생성하여 시작하겠습니다. log4j2 의존성을 추가하고 로거를 구성하고 사용하는 방법을 살펴보겠습니다. 2.1. Log4j2 의존성 프로젝트에 log4j2 의존성을 추가해 보겠습니다. Apache Log4J Core 및 Apache Log4J API 의존성이 필요합니다 . org.apache.logging.log4j log4j-core 2.18.0 org.apache.logging.log4j log4j..

Spring 2023.02.24

MySQL 컨테이너 설정 및 실행

1. 개요 컨테이너는 장점이 많기 때문에 IT 업계에서 가장 뜨거운 논의 주제입니다. 조직은 놀라운 속도로 비즈니스를 위해 컨테이너 기반 솔루션을 채택하고 있습니다. 451 Research에 따르면 애플리케이션 컨테이너 시장은 향후 몇 년 동안 4배 더 커질 것이라고 합니다. 오늘날 우리는 MySQL, MongoDB , PostgreSQL 등과 같은 데이터베이스를 컨테이너화된 형태로 보유하고 있습니다. 그러나 이 기사에서는 MySQL 컨테이너를 설정하고 실행하기 위한 옵션을 살펴봅니다. 시작하려면 기존 MySQL 데이터베이스를 백업합니다. 다음으로, YAML 형식으로 컨테이너 구성을 빌드하고 애플리케이션 컨테이너 스택을 함께 가져오기 위한 오픈 소스 툴킷인 docker-compose를 사용하여 실행합니다..

Spring 2023.02.24

Thymeleaf에 로그인한 사용자 정보 표시

1. 개요 이 빠른 사용방법(예제)에서는 로그인한 사용자의 정보를 Thymeleaf에 표시하는 방법을 살펴보겠습니다 . Thymeleaf 기사를 사용하여 Spring Security 에서 빌드한 프로젝트를 확장합니다 . 먼저 사용자 정보를 저장하는 사용자 정의 모델과 이를 검색하는 서비스를 추가합니다. 그런 다음 Thymeleaf Extras 모듈의 Spring Security Dialect를 사용하여 표시합니다. 2. UserDetails 구현 UserDetails는 Security과 관련되지 않은 사용자 정보를 보유하는 데 사용되는 Spring Security의 인터페이스입니다. 인증된 사용자 세부 정보를 저장하기 위한 모델로 일부 사용자 정의 필드를 사용하여 UserDetails 인터페이스 구현을 ..

Spring 2023.02.24

Gradle에서 조건부 의존성을 구성하는 방법

1. 개요 이 사용방법(예제)에서는 Gradle 프로젝트에서 조건부 의존성을 구성하는 방법을 살펴봅니다. 2. 프로젝트 설정 데모를 위해 다중 모듈 프로젝트를 설정할 것입니다. start.spring.io 로 가서 루트 프로젝트 conditional-dependency-demo를 생성해 봅시다 . 우리는 Spring Boot와 함께 Gradle과 Java를 사용할 것입니다. 또한 두 개의 Provider 모듈인 provider1 및 provider2 와 두 개의 소비자 모듈인 consumer1 및 consumer2 를 추가해 보겠습니다 . 3. 조건부 의존성 구성 프로젝트 속성을 기반으로 두 Provider 모듈 중 하나를 포함하려고 한다고 가정해 보겠습니다. consumer1 모듈 의 경우 isLoca..

Spring 2023.02.22

바이트 버디 사용방법(예제)

1. 개요 간단히 말해서 ByteBuddy는 런타임에 동적으로 Java 클래스를 생성하기 위한 라이브러리입니다. 이 요점 기사에서는 프레임워크를 사용하여 기존 클래스를 조작하고, 필요에 따라 새 클래스를 만들고, 메서드 호출을 차단할 것입니다. 2. 의존성 먼저 프로젝트에 의존성을 추가해 보겠습니다. Maven 기반 프로젝트의 경우 이 의존성을 pom.xml 에 추가해야 합니다 . net.bytebuddy byte-buddy 1.12.13 Gradle 기반 프로젝트의 경우 build.gradle 파일에 동일한 아티팩트를 추가해야 합니다. compile net.bytebuddy:byte-buddy:1.12.13 최신 버전은 Maven Central 에서 찾을 수 있습니다 . 3. 런타임 시 Java 클래스..

Spring 2023.02.22
반응형