[Spring Boot] 트랜잭션 어노테이션

2023. 4. 19. 19:21·Java/Spring Boot
728x90
728x90

#  관련 포스팅

  - 트랜잭션 개념 : https://young0105.tistory.com/229

 


@Transactional 어노테이션

  - 주로 Service Layer에서 insert, update, delete, 복잡한 select를 포함하는 메서드 위에 지정함

      · 메서드 호출 시 트랜잭션의 시작

      · 메서드 종료 시 트랜잭션의 종료 (정상 종료 → commit)

  - 트랜잭션 범위 내에서 실행되는 모든 작업이 원자성을 갖도록 보장함

  - 트랜잭션의 ACID 성질을 보장하기 위해 다양한 설정 옵션을 제공함

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@Service // IoC 대상
public class UserService {
 
    // DAO 표준을 정의해둔 인터페이스
    @Autowired // 객체 생성 시 의존 주입 처리
    private UserRepository userRepository;
    
    // 트랜잭션 어노테이션
    @Transactional 
    public void createUser(SignUpFormDto signUpFormDto) {
        
        int result = userRepository.insert(signUpFormDto);
        
        if (result != 1) {
            throw new CustomRestfullException("회원 가입에 실패했습니다.", HttpStatus.INTERNAL_SERVER_ERROR); // 연산 오류
        }
        
    }
 
}
Colored by Color Scripter
cs

 

 

320x100
반응형
저작자표시 비영리 변경금지 (새창열림)

'Java > Spring Boot' 카테고리의 다른 글

[Spring Boot] Controller에서 jsp 파일로 데이터 전달  (0) 2023.04.21
[Spring Boot] DAO - Service - Controller 구조 예시  (0) 2023.04.20
[Spring Boot] Model 클래스 (Entity)와 DTO 클래스  (0) 2023.04.19
[Spring Code] 사용자 정의 예외 클래스와 에러 페이지  (0) 2023.04.19
[Spring Boot] MyBatis 설정 및 DAO 구현  (1) 2023.04.18
'Java/Spring Boot' 카테고리의 다른 글
  • [Spring Boot] Controller에서 jsp 파일로 데이터 전달
  • [Spring Boot] DAO - Service - Controller 구조 예시
  • [Spring Boot] Model 클래스 (Entity)와 DTO 클래스
  • [Spring Code] 사용자 정의 예외 클래스와 에러 페이지
스응
스응
    반응형
    250x250
  • 스응
    이서영의 개발 블로그
    스응
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (383)
      • Java (134)
        • Base (54)
        • Spring Boot (37)
        • JSP (16)
        • Swing (GUI) (20)
        • Design Pattern (7)
      • C# (13)
      • PHP (18)
      • SQL (27)
      • Vue.js (10)
      • Tailwind CSS (4)
      • TypeScript (7)
      • HTML & CSS (27)
      • JavaScript (26)
      • jQuery (10)
      • Android (3)
      • - - - - - - - - - - - - - - (0)
      • Hotkeys (5)
      • CS (30)
      • etc. (13)
      • Error Note (14)
      • Team Project (24)
        • Airlines Web Project (12)
        • University Web Project (6)
        • Strikers 1945 GUI Project (6)
      • My Project (18)
        • Library Web Project (8)
        • Pet Shopping Mall GUI Project (10)
  • 블로그 메뉴

    • Home
    • Write
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    php
    http
    Android
    jsp
    js
    티스토리챌린지
    HTML
    SpringBoot
    CSS
    C#
    git
    SQL
    SEO
    개발일지
    Codeigniter
    jQuery
    Hotkeys
    errorNote
    tailwindcss
    cs
    면접
    오블완
    vuejs
    java
    Swing
    Wordpress
    zapier
    typeScript
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
스응
[Spring Boot] 트랜잭션 어노테이션
상단으로

티스토리툴바