[메시지 큐] RabbitMq에 대해
·
Spring
RabbitMq란?RabbitMQ는 오픈 소스 메시지 브로커로, 메시지 송수신을 관리해 주는 역할을 합니다.AMQP를 사용하여 안정적이고 확장 가능한 메시징 서비스를 제공합니다.RabbitMQ는 메시지 큐를 사용하여 시스템 간의 비동기 처리를 가능하게 하며, 데이터 손실에 대해 안정성을 보장합니다. RabbitMq 주요 개념위의 사진과 같은 과정을 요약하자면Publisher가 Exchange에 메시지를 발행 -> Exchange가 메시지를 적절한 Queue(큐)로 라우팅 -> 라우팅된 메시지를 Queue(큐)에 저장됨 -> Consumer(소비자)가 메시지를 읽어 처리 1. Publisher(생산자)메시지를 생성하고 RabbitMq에 전달하는 역할을 한다..특정 작업의 데이터를 포함한 메시지를 생성하고 ..
[Spring] 필터(Filter)와 인터셉터(Interceptor) 정리 및 차이점
·
Spring
Filter란?Java 웹 애플리케이션에서 요청과 응답을 처리하기 전에 또는 처리 후에 특정 작업을 수행할 수 있는 강력한 기능필터는 서블릿과 JSP 기술을 기반으로 한 웹 애플리케이션에서 작동하며, Spring 프레임워크에서도 자주 사용필터는 인증, 로깅, 보안 검사와 같은 비즈니스 로직과는 독립적인 공통 기능을 처리하는 데 주로 사용 Interceptor란?요청이 컨트롤러에 도달하기 전이나 응답이 클라이언트로 반환되기 전에 추가적인 작업을 수행할 수 있게 해주는 기능인터셉터는 주로 인증, 권한 체크, 로깅, 데이터 변환 등의 작업에 사용되지만 전역적이지 않음  Filter 와 Interceptor의 구조Web Context클라이언트의 HTTP 요청을 처리하는 전체적인 환경을 의미웹 서버가 요청을 수신..
[Spring] @RestControllerAdvice를 사용해서 예외처리 해보기
·
Spring
예외처리를 전역적으로 일관성있게 처리하고, try-catch 문의 반복을 줄여 간편하게 예외처리를 할 수 있도록 도움을 주는 @RestControllerAdvice에 대해서 공부해보았습니다.먼저 기본적으로 알아야 할 예외(Exception)에 대해서 알아보겠습니다.1. 예외(Exception)란?에러(Error)에러는 메모리 부족이나 심각한 시스템 오류와 같이 애플리케이션에서 복구 불가능한 시스템 예외이다.주로 JVM에서 발생시키기에 이 예외를 잡아선 안되고 잡아서 대응 할 방법도 없다.참고로 에러는 언체크 예외이다.예외(Exception)애플리케이션 로직에서 사용할 수 있는 실질적인 최상위 예외이다.Exception은 체크 예외와 언체크 예외로 구분된다.체크 예외(Check Exception)체크 예외..
[Spring] JPA 연관관계 매핑
·
Spring
자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com1. 연관관계 매핑기초[목표]객체와 테이블 연관관계의 차이를 이해객체의 참조와 테이블의 외래 키를 매핑용어 이해방향(Direction): 단방향, 양방향다중성(Multiplicity): 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M) 이해연관관계의 주인(Owner): 객체 양방향 연관관계는 관리 주인이 필요2. 연관관계가 필요한 이유[예제 시나리오]회원과 팀이 있다.회원은 하나의 팀에만 ..
[Spring] JPA 엔티티 매핑
·
Spring
자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com1. 엔티티 매핑객체와 테이블 매핑: @Entity, @Table필드와 컬럼 매핑: @Column기본 키 매핑: @Id연관관계 매핑: @ManyToOne, @OneToMany, @JoinColumn[@Entity]@Entity가 붙은 클래스는 JPA가 관리, 엔티티라 한다.JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자)..
[Spring] JPA 영속성 관리
·
Spring
자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 | 김영한 - 인프런김영한 | JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 실무에서도www.inflearn.com1. 영속성 컨텍스트란?[JPA에서 가장 중요한 2가지]객체와 관계형 데이터베이스 매핑하기(ORM: Object Relational Mapping)영속성 컨텍스트영속성 컨텍스트는 “엔티티를 영구 저장하는 환경”이라는 뜻영속성 컨텍스트는 논리적인 개념이며 눈에 보이지 않는다.엔티티 매니저를 통해서 영속성 컨텍스트에 접근 가능하다.2. 엔티티의 생명주기비영속(new/transient): 영속성 컨텍스트와 전혀 관..
[Spring] Spring 이란? + (Spring Boot 와의 차이점)
·
Spring
1. Spring이란?- 스프링은 자바의 오픈소스 애플리케이션 프레임워크 중 하나로 객체를 관리할 수 있는 컨테이너를 제공하고 객체지향 어플리케이션을 개발할 수 있게 도와주는 프레임워크- 컨테이너를 통해서 의존성 주입과 제어의 역전을 통해 결합도를 낮추게 한다.2. Spring의 주요 특징1. IOC (제어의 역전)IOC란 객체를 개발자가 관리하는 것이 아닌 스프링에서 대신 관리합니다.제어권이 개발자에게 있지 않고 프레임워크에 있어서 제어의 역전이라고 합니다.이로인해 개발자는 비즈니스 로직에 집중하여 개발할 수 있습니다.2. DI (의존성 주입)DI는 스프링 컨테이너가 객체간의 의존관계를 자동으로 연결하는 방식.이를 통해 코드의 재사용성을 높일 수 있습니다.3. AOP (관점 지향 프로그래밍)AOP는 ..
[Spring] MVC1, MVC2, Spring MVC 정리
·
Spring
1. MVC의 개념Model, View, Controller로 역할별로 분리한 디자인 패턴MVC패턴을 통해 UI 영역과 비즈니스 로직 영역으로 구분되어 서로에게 영향을 주지않으면서 개발 및 유지보수가 가능Model: 사용자가 원하는 데이터나 정보를 제공View: 사용자에게 보여지는 화면을 출력Controller: 사용자의 요청 처리 및 전체적인 흐름 제어2. MVC 1모든 클라이언트의 요청과 응답을 JSP가 담당JSP가 Controller와 View의 기능을 모두 담당하는 구조구현 난이도가 쉽지만 복잡해질수록 유지보수가 힘들다장점 과 단점장점간단하고 쉽게 구현할 수 있다빠르게 개발할 때 유용하다단점규모가 커지고 복잡해질수록 유지보수가 힘들다유연성이 떨어지고 확장하기 어렵다3. MVC 2MVC 2 패턴는 ..
[Spring] SOLID 원칙(객체 지향 원칙) 정리
·
Spring
1. SRP(Single responsibility principle) : 단일 책임 원칙하나의 클래스는 하나의 책임만 가져야한다.하나의 클래스가 책임져야할 부분이 많을경우 코드 수정이 복잡해진다.따라서 변경이 있을 때, 다른 부분에 영향을 덜 미친다면 SRP를 잘 따른 것이다. 2. OCP(Open/closed principle) : 개방-폐쇄 원칙소프트웨어 요소는 확장에는개방적이나 변경에는 폐쇄적이어야 한다.다형성을 활용하여 인터페이스로 역할을 정의하고 구체 클래스를 통해 구현을 정의. 3. LSP(Liskov substitution principle) : 리스코프 치환 원칙다형성에서 하위 클래스들은 인터페이스 규약을 다 지켜야 한다는 것이다.자식 클래스가 부모 클래스의 기능을 확장하거나 변경할 수 ..
하부루
'Spring' 카테고리의 글 목록