본문 바로가기

Spring9

[메시지 큐] RabbitMq에 대해 RabbitMq란?RabbitMQ는 오픈 소스 메시지 브로커로, 메시지 송수신을 관리해 주는 역할을 합니다.AMQP를 사용하여 안정적이고 확장 가능한 메시징 서비스를 제공합니다.RabbitMQ는 메시지 큐를 사용하여 시스템 간의 비동기 처리를 가능하게 하며, 데이터 손실에 대해 안정성을 보장합니다. RabbitMq 주요 개념위의 사진과 같은 과정을 요약하자면Publisher가 Exchange에 메시지를 발행 -> Exchange가 메시지를 적절한 Queue(큐)로 라우팅 -> 라우팅된 메시지를 Queue(큐)에 저장됨 -> Consumer(소비자)가 메시지를 읽어 처리 1. Publisher(생산자)메시지를 생성하고 RabbitMq에 전달하는 역할을 한다..특정 작업의 데이터를 포함한 메시지를 생성하고 .. 2025. 2. 1.
[Spring] 필터(Filter)와 인터셉터(Interceptor) 정리 및 차이점 Filter란?Java 웹 애플리케이션에서 요청과 응답을 처리하기 전에 또는 처리 후에 특정 작업을 수행할 수 있는 강력한 기능필터는 서블릿과 JSP 기술을 기반으로 한 웹 애플리케이션에서 작동하며, Spring 프레임워크에서도 자주 사용필터는 인증, 로깅, 보안 검사와 같은 비즈니스 로직과는 독립적인 공통 기능을 처리하는 데 주로 사용 Interceptor란?요청이 컨트롤러에 도달하기 전이나 응답이 클라이언트로 반환되기 전에 추가적인 작업을 수행할 수 있게 해주는 기능인터셉터는 주로 인증, 권한 체크, 로깅, 데이터 변환 등의 작업에 사용되지만 전역적이지 않음 Filter 와 Interceptor의 구조Web Context클라이언트의 HTTP 요청을 처리하는 전체적인 환경을 의미웹 서버가 요청을 수신.. 2024. 9. 21.
[Spring] @RestControllerAdvice를 사용해서 예외처리 해보기 예외처리를 전역적으로 일관성있게 처리하고, try-catch 문의 반복을 줄여 간편하게 예외처리를 할 수 있도록 도움을 주는 @RestControllerAdvice에 대해서 공부해보았습니다.먼저 기본적으로 알아야 할 예외(Exception)에 대해서 알아보겠습니다.1. 예외(Exception)란?에러(Error)에러는 메모리 부족이나 심각한 시스템 오류와 같이 애플리케이션에서 복구 불가능한 시스템 예외이다.주로 JVM에서 발생시키기에 이 예외를 잡아선 안되고 잡아서 대응 할 방법도 없다.참고로 에러는 언체크 예외이다.예외(Exception)애플리케이션 로직에서 사용할 수 있는 실질적인 최상위 예외이다.Exception은 체크 예외와 언체크 예외로 구분된다.체크 예외(Check Exception)체크 예외.. 2024. 9. 16.
[Spring] JPA 연관관계 매핑 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com1. 연관관계 매핑기초[목표]객체와 테이블 연관관계의 차이를 이해객체의 참조와 테이블의 외래 키를 매핑용어 이해방향(Direction): 단방향, 양방향다중성(Multiplicity): 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M) 이해연관관계의 주인(Owner): 객체 양방향 연관관계는 관리 주인이 필요2. 연관관계가 필요한 이유[예제 시나리오]회원과 팀이 있다.회원은 하나의 팀에만 .. 2024. 7. 8.
[Spring] JPA 엔티티 매핑 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com1. 엔티티 매핑객체와 테이블 매핑: @Entity, @Table필드와 컬럼 매핑: @Column기본 키 매핑: @Id연관관계 매핑: @ManyToOne, @OneToMany, @JoinColumn[@Entity]@Entity가 붙은 클래스는 JPA가 관리, 엔티티라 한다.JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자).. 2024. 7. 4.
[Spring] JPA 영속성 관리 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com1. 영속성 컨텍스트란?[JPA에서 가장 중요한 2가지]객체와 관계형 데이터베이스 매핑하기(ORM: Object Relational Mapping)영속성 컨텍스트영속성 컨텍스트는 “엔티티를 영구 저장하는 환경”이라는 뜻영속성 컨텍스트는 논리적인 개념이며 눈에 보이지 않는다.엔티티 매니저를 통해서 영속성 컨텍스트에 접근 가능하다.2. 엔티티의 생명주기비영속(new/transient): 영속성 컨텍스트와 전혀 관.. 2024. 6. 29.