DevLog
close
프로필 배경
프로필 로고

DevLog

  • 분류 전체보기 N
    • Algorithm N
      • BOJ N
      • Programmers
    • Computer Science
    • Java
    • Spring
    • Server
    • Docker
    • Github
  • 홈
  • 태그
  • 방명록

[Spring] JPA와 Spring Data JPA 차이

📍 이 글은 CS 스터디를 진행하며 개인적으로 공부한 내용을 정리한 글입니다.틀린 부분이 있다면 댓글로 알려주세요. 감사합니다.🙇‍♀️🌟 🎈JPA (Java Persistence API)JPA는 자바에서 ORM(Object-Relational Mapping)을 구현하기 위한 표준 명세로, 인터페이스와 애노테이션을 통해 자바 애플리케이션이 데이터베이스를 다루는 방식을 정의한다. JPA는 실행 가능한 라이브러리가 아니라, Hibernate, EclipseLink, DataNucleus, OpenJPA 등과 같은 구현체가 필요한 API이다.핵심 인터페이스인 EntityManager 등을 포함하는 javax.persistence 패키지로 구성되며, 이를 통해 데이터베이스 연동이 이루어진다. JPA의 가장..

  • format_list_bulleted Computer Science
  • · 2025. 3. 24.
  • textsms

[Spring] 롬복(Lombok), @RequiredArgsConstructor를 사용한 생성자 주입

🔹 롬복(Lombok)이란 ?Lombok은 어노테이션 기반으로 코드를 자동 생성해 주는 Java 라이브러리다.Lombok을 이용하면 코드를 줄여 가독성을 높이고, 개발자의 생산성을 향상시킨다. 🔸 Lombok의 장점보일러플레이트 코드 제거 : Getter, Setter, 생성자 등을 자동 생성해 코드 중복을 줄일 수 있다.가독성 향상 : 코드가 간결해지고 유지 보수가 쉬워진다.생산성 향상 : 반복적인 메서드 작성 없이 핵심 로직에 집중할 수 있다. 🔍 보일러플레이트 코드(Boilerplate Code) 보일러플레이트 코드란 반복적으로 작성해야 하는 코드를 의미한다.Java 같은 정적 타입 언어에서는 Getter, Setter, 생성자, toString() 등이 대표적인 보일러플레이트 코드다.Lo..

  • format_list_bulleted Spring
  • · 2025. 2. 4.
  • textsms

[Spring] @Autowired 빈 탐색 전략, @Qualifier, @Primary

🔹 Bean 등록과 조회 규칙[ Bean 등록 ]Spring은 기본적으로 메서드/클래스의 이름을 Bean의 이름으로 사용한다.@Beanpublic DiscountPolicy fixDiscountPolicy() { return new FixDiscountPolicy();}@Beanpublic DiscountPolicy rateDiscountPolicy() { return new RateDiscountPolicy();} 개발자가 직접 빈의 이름을 지정할 수도 있다.@Bean("fixDiscountPolicy")public DiscountPolicy fixDiscountPolicy() { return new FixDiscountPolicy();}@Bean("rateDiscountPolicy"..

  • format_list_bulleted Spring
  • · 2025. 1. 23.
  • textsms

[Spring] Bean Scope

🔹 Bean Scope스프링에서 빈은 기본적으로 싱글톤 스코프로 생성된다.특정 타입의 빈을 하나만 만들어 두고 공유해서 사용하기 위함인데, 이러한 이유로 빈에 상태를 저장하는 코드를 작성하는 것은 동시성 문제를 유발하여 위험한 상황을 초래할 수 있다.하지만 요구사항과 구현 기능 등의 필요에 따라 비싱글톤이 필요한 경우도 많다. 그리고 이를 명시적으로 구분하기 위해 Scope라는 키워드를 제공한다. 🔹 Scope 종류1. 싱글톤스프링 프레임워크에서 기본이 되는 스코프스프링 컨테이너의 시작과 종료까지 한 개의 객체로 유지된다.가장 넓은 범위의 스코프이다.2. 프로토타입프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프요청이 들어오면 항상 새로운 인스턴스를 생..

  • format_list_bulleted Spring
  • · 2025. 1. 22.
  • textsms

[Spring] Spring @Transactional 세부 설정

🔹 Spring Transaction의 세부 설정Spring에서 @Transactional 세부 설정할 때, 지원하는 주요 속성은 다음과 같다.전파 속성 (Propagation)격리 수준 (Isolation Level)읽기 전용 여부 (Read-Only Flag)제한 시간 (Timeout)트랜잭션 롤백 예외 설정 (Rollback For, No Rollback For) [ 전파 속성 (Propagation) ]Spring이 제공하는 선언적 트랜잭션(@Transactional)의 장점 중 하나는 여러 트랜잭션의 적용 범위를 하나로 묶어, 큰 트랜잭션 경계를 만들 수 있다는 점이다.트랜잭션이 어떻게 동작할지 결정하려면 전파 속성 (Propagation)을 설정해야 하며, 이를 통해 새로운 트랜잭션을 시작할..

  • format_list_bulleted Spring
  • · 2025. 1. 14.
  • textsms

[Spring] Transaction, Spring에서 제공하는 Transaction 핵심 기술

🔹 Transaction[ 트랜잭션(Transaction)의 필요성 ]데이터베이스에서 데이터를 수정하는 과정에서 예외가 발생하면, 데이터가 불완전한 상태로 남지 않도록 수정 이전의 상태로 되돌린 후, 다시 수정 작업이 이루어져야 한다. 이렇게 여러 작업을 수행하다 문제가 발생했을 때, 이전 상태로 되돌리는 롤백(Rollback) 기능을 제공하는 것이 트랜잭션(Transaction)이다. 트랜잭션은 하나의 논리적인 작업 단위로, 반드시 Commit(커밋) 또는 Rollback(롤백)으로 마무리되어야 한다. 즉, 트랜잭션이 정상적으로 완료되면 커밋을 수행하여 변경 사항을 확정하고, 도중에 오류가 발생하면 롤백을 수행하여 변경 사항을 취소한다.예를 들어, 새로운 데이터를 추가하는 도중에 문제가 생긴다면, 해..

  • format_list_bulleted Spring
  • · 2025. 1. 10.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 N
    • Algorithm N
      • BOJ N
      • Programmers
    • Computer Science
    • Java
    • Spring
    • Server
    • Docker
    • Github
최근 글
인기 글
최근 댓글
태그
  • #우선순위 큐
  • #스프링
  • #데이크스트라
  • #spring
  • #백준
  • #이분 탐색
  • #자바
  • #java
  • #최단 경로
  • #너비 우선 탐색
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바