개발새발
close
프로필 배경
프로필 로고

개발새발

  • 분류 전체보기
    • 회고
    • 정보처리기사
    • 공부
      • Spring
      • Docker
      • 오류
    • 개발 일지
    • 코딩테스트
      • 개념
      • 문제풀이
  • 홈
  • 태그
  • 방명록

예외(Exceptions), Spring boot에서 예외처리 (@RestControllerAdvice + @ExceptionHandler)

예외(Exceptions)란? 개발을 하다 보면 예기치 않은 상황이 발생할 수 있다. 예를 들어, DB에 저장하고자 하는 데이터가 Null 값이거나, 네트워크 연결이 끊겨 호출이 실패하거나, 파일 입출력에 문제가 생기는 등 다양한 예외 상황이 존재한다. 예외는 프로그램의 정상적인 흐름을 깨뜨릴 수 있기 때문에, 이들을 체계적으로 처리(Handling)하는 방식이 필요하다. 종류Checked Exception: 컴파일 단계에서 체크되는 예외로, 반드시 처리해야 한다. 예를 들어, IOException, SQLException 등이 있다.Unchecked Exception(런타임 예외): 컴파일 단계에서 체크되지 않는 예외로, 개발자의 부주의로 발생하는 경우가 많다. 예를 들어, NullPointerExce..

  • format_list_bulleted 공부/Spring
  • · 2025. 2. 18.
  • textsms

테이블 간의 관계 매핑 애노테이션

Spring Data JPA에서는 객체와 데이터베이스 간의 관계를 매핑하기 위해 다양한 애노테이션을 제공한다. 이 애노테이션은 테이블 간의 관계(1:1, 1:N, N:1, N:N)를 엔티티 클래스를 통해 정의할 수 있도록 돕는다. 각각의 애노테이션과 함께 자주 사용되는 @GeneratedValue, @JoinColumn 등의 애노테이션도 설명한다.1. @ManyToOne @ManyToOne은 여러 엔티티가 하나의 엔티티와 연결될 때 사용한다. 예를 들어, 여러 개의 주문(Order)이 하나의 사용자(User)와 연결되는 경우이다. 데이터베이스에서는 외래 키(Foreign Key)를 통해 관계를 설정한다. 예시: 사용자와 주문@Entitypublic class Order { @Id @Genera..

  • format_list_bulleted 공부/Spring
  • · 2025. 2. 10.
  • textsms

동적 쿼리란? - Querydsl

Querydsl은 Java 기반의 타입 안전한 동적 쿼리 생성 도구로, SQL, JPA, MongoDB 등 다양한 데이터베이스와 연동할 수 있다. 특히 JPA와 함께 사용하면 JPA의 동적 쿼리 작성이 더욱 간단하고 효율적으로 바뀐다. JPQL(Java Persistence Query Language)의 단점을 극복하기 위해 등장한 Querydsl은 컴파일 타임에 오류를 감지할 수 있는 타입 안전성을 제공하며, 동적 쿼리를 작성하는 데 뛰어난 가독성과 간결함을 제공한다. build.gradle 설정dependencies { implementation 'com.querydsl:querydsl-jpa:5.0.0' annotationProcessor 'com.querydsl:querydsl-apt:..

  • format_list_bulleted 공부/Spring
  • · 2025. 2. 10.
  • textsms

Spring 데이터 접근 기술

Spring Data JPA는 데이터베이스와 객체 간의 매핑을 단순화하고, 데이터베이스 작업을 효율적으로 처리할 수 있도록 설계된 모듈이다. MySQL과 함께 사용하여 데이터베이스를 구성하려면 JPA의 핵심 개념과 자주 사용하는 애노테이션에 대해 깊이 이해하는 것이 중요하다. 먼저, JPA와 Spring Data JPA가 등장하기 전의 데이터베이스 접근 기술과 그 한계, 이를 해결하기 위해 등장한 ORM(Object-Relational Mapping)의 발전 과정을 알아보자. 1. JDBC (Java Database Connectivity) JDBC는 Java의 표준 데이터베이스 접근 API로, SQL을 직접 작성하고 데이터베이스와의 통신을 수동으로 관리한다. 초기에는 대부분의 애플리케이션이 이 방식을 ..

  • format_list_bulleted 공부/Spring
  • · 2025. 2. 10.
  • textsms

HTTP 쿠키&세션 개념 및 Spring Security + React 로그인 구현 방법

HTTP(HyperText Transfer Protocol)는 웹에서 데이터를 주고받기 위해 사용되는 프로토콜이다. HTTP는 기본적으로 무상태(stateless) 프로토콜로, 각 요청(Request)과 응답(Response)은 독립적으로 처리되며, 이전 요청과의 상태를 유지하지 않는다. 하지만 로그인 상태를 유지하거나 사용자의 장바구니 정보를 저장하는 등의 기능을 위해 사용자의 상태를 유지해야 할 필요가 있다. 이때 쿠키(Cookie)와 세션(Session)과 같은 기술이 사용된다.1. 쿠키(Cookie) 쿠키는 클라이언트에 저장되는 작은 데이터 조각이다. 서버는 HTTP 응답 헤더에 Set-Cookie를 포함시켜 클라이언트에게 쿠키를 전달 하며, 클라이언트는 동일한 서버에 요청을 보낼 때마다 해당 쿠..

  • format_list_bulleted 공부
  • · 2025. 2. 6.
  • textsms

JWT란?

JWT(JSON Web Token)는 JSON 형식의 데이터를 이용해 사용자 인증 및 정보 교환을 안전하게 수행하는 토큰이다. 웹에서 사용자를 인증하고 권한을 부여하는데 주로 클라이언트와 서버 간의 정보를 안전하게 전송하는 데 사용된다. JWT 구성1. 헤더 (Header) - JWT의 유형 정의 및 사용하는 서명 알고리즘(SHA256 or RSA)을 지정한다. 2. 페이로드 (Payload) - 실제 데이터가 포함된 부분. 보통 사용자 정보나 기타 중요한 데이터를 포함하며, "클레임(Clame)"이라고 불리는 항목을 담고있다. 클레임은 JWT의 세 가지 유형이 있는데, iss(발행자), exp(만료 시간), sub(주제)등을 포함한 등록된 클레임, 사용자가 정의할 수 있는 공개 클레임, 특정 애플리케이..

  • format_list_bulleted 공부
  • · 2025. 2. 5.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기
    • 회고
    • 정보처리기사
    • 공부
      • Spring
      • Docker
      • 오류
    • 개발 일지
    • 코딩테스트
      • 개념
      • 문제풀이
최근 글
인기 글
최근 댓글
태그
  • #객체지향원리
  • #정보처리기사 필기
  • #정처기 필기
  • #solid
  • #SRP
  • #객체지향5원칙
  • #DIP
  • #OCP
  • #정처기
  • #lsp
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바