본문 바로가기

Programing/Spring5

Redis 개념과 사용법 알아보기 Redis 란 ?레디스(Redis)는 REmote Dictionary Sever의 줄임말로 메모리 기반의 저장소 입니다.레디스는 RAM에 데이터를 저장하여 데이터를 더 빠르게 처리할 수 있습니다.데이터베이스와 다르게 Key-Value 데이터 구조로 데이터를 저장하고 다양한 자료 구조를 저장할 수 있는 NoSQL 구조로 되어 있습니다. Redis를 왜 사용할까? 일반적인 관계형 데이터 베이스는 영속성을 제공하는데 목적을 두고 있고, 데이터가 사라지지 않게 하기 위해서 파일시스템(SSD 또는 HDD) 에 저장합니다. 따라서 컴퓨터가 종료되어도 데이터가 사라지지 않지만 데이터를 읽고 쓰는데 오래 걸립니다  반면, Redis는 RAM에 데이터를 저장하기 때문에, 복잡한 입출력 과정이 필요하지 않고 RDB 에 비.. 2025. 3. 5.
Spring Cloud 학습 1. Spring Cloud란?Spring Cloude는 스프링에서 마이크로서비스 개발을 위해 다양한 도구와 서비스를 제공하는 프레임 워크의 확장 기능이다. 즉, MSA 를 쉽게 구현하고 운영할 수 있도록 도움을 주는 프레임 워크이다.Spring Cloud는 API 게이트웨이, 서비스 디스커버리, 로드밸런싱, 서킷 브레이커, 구성 관리 등 다양한 기능을 제공한다.  2. 기능 소개주요 기능기능 설명구현체서비스  디스커버리모든 서비스의 위치를 저장하고 인스턴스의 상태를 주기적으로 확인Eureka , Consul, Zookeeper 로드 밸런싱서비스 인스턴스 간의 부하를 분산시켜주는 역할서비스 디스커버리로 부터 서비스 인스턴스 리스트를 제공받아 로드밸런싱에 사용요청 실패시 다른 인스턴스로 전환됨. Ribbo.. 2025. 2. 12.
Spring JPA 관계 이해하기 1. JPA 란?JPA는 Java Persistence API 약자로서 , RDBMS와 OOP 객체 사이의 불일치에서 오는 패러다임을 해결하기 위해서 만들어진 ORM(Object Relational Mapping) 기술이다.구현체가 없으므로 ORM 프레임워크를 사용하는데 대중적인 프레임 워크는 Hibernate이다. JPA 에서 가장 중요한것은 객체와 데이터베이스 테이블 맵핑 방법이다.데이터베이스 간의 관계를 통해 데이터를 연결하고, 데이터를 조회할 수 있는데 JPA에서도 관계를 정의하고,객체간 연결을 할 수 있다. 따라서, JPA 를 잘 다루기 위해서는 연관관계 맵핑 방법에 대해 숙지하고, 익숙해져야 한다.2. 연관 관계 정의연관 관계를 맵핑 할 때 크게 생각해 봐야 할 것은 방향, 관계의 주인, 다중.. 2025. 2. 7.
Spring Bean 수동 등록하기 + 같은 타입의 Bean이 여러개 라면? 1.Bean 수동 등록Spring 을 사용하면 @Component를 사용하면 @ComponentScan에 의해 자동으로 스캔되어 해당 클래스를 Bean으로 등록 하여 스프링 컨테이너에서 관리된다. @Repository , @Service , @ Controller 어노테이션 으로 각각의 class의 의미를 명시해 주고 @Component 가 내장되어 있기 때문에 자동으로 Bean이 등록된다. 따라서, 비지니스 로직과 관련된 클래스들은 수가 많기 때문에 어노테이션으로 Bean 등록하고 관리하면 개발 생산성에 유리다. 그러면 왜 ... 수동 Bean을 사용할까?1.1 수동 Bean 사용 이유기술적인 문제나 공통된 관심사를 처리할 때 사용하는 객체들을 수동으로 등록하는 것이 좋다.로그처리 처럼 부가적이고 공통.. 2025. 2. 5.
Spring JPA Auditing 적용해 보기 Spring JPA Auditing 이란?JPA 로 Entity를 만들다 보면, 공통적으로 사용하는 필드들이 필요하다.각 Entity 마다 컬럼을 추가하고, 생성자에 넣어주고~~~ 이 과정들을 N번 반복해야하는데, 이를 추상화 하면 한번에 공통된 컬럼을 사용할 수 있다. 주로, 생성일, 수정일 ,작성자, 수정자 와 같은 정보는 중요하기 때문에 기록을 잘 남겨놓는것이 매우 중요하다. 따라서, JPA 에서는 Audit이라는 기능을 제공하고, Spring Data JPA에서 자동으로 값을 넣어주는 기능을 해주기 때문에 매우 간편하게 데이터를 관리 할 수 있다.MyBatis 로 작업할때는 하나하나 upadate ,insert를 해줘야 해서 매우 까다로웠음;; 1. Application.java 에 @Enable.. 2025. 2. 4.