전체 글
-
[JAVA] 12주차 과제 : 애노테이션Java/온라인 자바 스터디 2024. 4. 11. 18:56
목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 (필수) 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 애노테이션 정의하는 방법 자바 애노테이션은 코드 사이에 메타데이터를 제공하는 방법으로, 주석보다 더 많은 기능을 합니다. 이는 소스 코드에 추가할 수 있는 특수한 형태의 '주석'이며, 코드에 정보를 제공하거나 컴파일러에게 특정 동작을 수행하도록 지시하는 등의 목적으로 사용됩니다. 애노테이션은 @interface 키워드를 사용하여 정의합니다. @interface는 자바의 키워드 중 하나로, 애노테이션 정의를 생성하는데 사용됩니다. 다음은 기본적인 애노테이션 구문입니다. public @interface MyAnnotation { // 애노테이션 요..
-
[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..
-
[Spring Boot] RedisTemplate을 이용한 Redis Data Type 확인Spring Boot/기타 2023. 7. 2. 18:32
Redis Data TypesStrings : 단순한 텍스트나 이진 데이터를 저장하는데 사용되며, 각 키에 대해 하나의 값만 저장할 수 있습니다. Strings는 캐싱, 세션 관리, 카운팅 등에 사용됩니다.Lists : 순서가 있는 문자열의 목록을 저장하는데 사용되며, 한 키에 여러 값을 저장할 수 있으며, 값들은 순서대로 저장됩니다. Lists는 대기열, 로그, 최근 작업 목록 등에 사용됩니다.Sets : 중복되지 않는 값을 저장하는데 사용되며, 멤버 간의 순서가 없으며, 각 멤버는 유일합니다. Sets는 태그 처리, 중복 제거 등에 유용합니다.Hashes : 필드-값 쌍을 저장하는 데 사용되며, 각 키에 대해 여러 개의 필드와 해당 필드에 연결된 값들을 저장할 수 있습니다. Hashes는 필드의 추가..
-
[Spring Boot] ActiveMQ Queue, Topic 연동Spring Boot/기타 2023. 7. 2. 18:14
ActiveMQ란?Apache Software Foundation에서 개발된 오픈 소스 메시지 브로커(Message Broker)로 메시징 시스템에서 메시지를 중개하고 전달하는 역할을 담당합니다.Java로 작성되었으며, Java Message Service (JMS)를 지원하여 다양한 애플리케이션 간에 비동기적인 통신을 가능하게 합니다.큐(Queue)와 토픽(Topic)이라는 두 가지 메시지 전달 방식을 지원하며, 큐(Queue) 방식은 메시지를 수신 대기 중인 클라이언트 중 하나에게 전달하고, 토픽(Topic) 방식은 메시지를 여러 구독자에게 전달하는 방식입니다. ActiveMQ : https://activemq.apache.orghttps://activemq.apache.org 1. Docker를 ..
-
[Spring Boot] STOMP 사용 시 Interceptor 및 errorHandling 적용Spring Boot/기타 2023. 6. 24. 17:49
STOMP 사용 시 Interceptor 및 errorHandling 적용WebSocketConfig.java 수정setErrorHandler() 메서드는 StompEndpointRegistry 클래스에서 제공되는 메서드로, STOMP 엔드포인트 등록 중에 발생하는 오류 처리를 설정하는데 사용할 수 있습니다.configureClientInboundChannel() 메서드는 WebSocketMessageBrokerConfigurer 인터페이스에서 제공되는 메서드로, 클라이언트로부터 수신한 STOMP 메시지를 처리하기 위한 클라이언트 인바운드 채널을 구성하는데 사용할 수 있습니다.package com.example.activemq.config;import com.example.activemq.common...
-
[Spring Boot] ActiveMQ + STOMP 연동Spring Boot/기타 2023. 6. 17. 09:14
ActiveMQ란?Apache Software Foundation에서 개발된 오픈 소스 메시지 브로커(Message Broker)로 메시징 시스템에서 메시지를 중개하고 전달하는 역할을 담당합니다.Java로 작성되었으며, Java Message Service (JMS)를 지원하여 다양한 애플리케이션 간에 비동기적인 통신을 가능하게 합니다.큐(Queue)와 토픽(Topic)이라는 두 가지 메시지 전달 방식을 지원하며, 큐(Queue) 방식은 메시지를 수신 대기 중인 클라이언트 중 하나에게 전달하고, 토픽(Topic) 방식은 메시지를 여러 구독자에게 전달하는 방식입니다. ActiveMQ : https://activemq.apache.orgSTOMP란?Apache Software Foundation에서 개발된..
-
[Spring Boot] ActiveMQ 연동하기Spring Boot/기타 2023. 6. 11. 11:04
ActiveMQ란?Apache Software Foundation에서 개발된 오픈 소스 메시지 브로커(Message Broker)로 메시징 시스템에서 메시지를 중개하고 전달하는 역할을 담당합니다.Java로 작성되었으며, Java Message Service (JMS)를 지원하여 다양한 애플리케이션 간에 비동기적인 통신을 가능하게 합니다.큐(Queue)와 토픽(Topic)이라는 두 가지 메시지 전달 방식을 지원하며, 큐(Queue) 방식은 메시지를 수신 대기 중인 클라이언트 중 하나에게 전달하고, 토픽(Topic) 방식은 메시지를 여러 구독자에게 전달하는 방식입니다. ActiveMQ : https://activemq.apache.org 1. Docker를 사용하여 ActiveMQ 설치Docker를 사용하..
-
[Spring Boot] RabbitMQ 연동하기Spring Boot/기타 2023. 6. 4. 18:27
RabbitMQ는 메시지를 생산하는 생산자(Producer)가 메시지를 큐(Queue)에 저장해 두면, 메시지를 수신하는 소비자(Consumer)가 메시지를 가져와 처리하는 Publish/Subscribe 방식의 메시지 전달 브로커입니다.RabbitMQ : https://www.rabbitmq.com 1. Docker를 사용하여 RabbitMQ 설치Docker를 사용하여 RabbitMQ를 로컬에 설치하세요.docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 --restart=unless-stopped rabbitmq:management포트 5672는 RabbitMQ 클라이언트 연결에 사용되고, 포트 15672는 RabbitMQ 웹 관리 콘솔에 사용됩니다..