일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 스프링 고급 - 스프링 aop
- 자바의 정석 기초편 ch1
- 자바로 계산기 만들기
- 스프링 트랜잭션
- 자바 고급2편 - io
- 2024 정보처리기사 수제비 실기
- 자바 중급1편 - 날짜와 시간
- @Aspect
- 자바의 정석 기초편 ch14
- 데이터 접근 기술
- 자바로 키오스크 만들기
- 스프링 mvc1 - 스프링 mvc
- 자바 중급2편 - 컬렉션 프레임워크
- 자바 기초
- 자바 고급2편 - 네트워크 프로그램
- 람다
- 자바의 정석 기초편 ch9
- 2024 정보처리기사 시나공 필기
- 자바의 정석 기초편 ch6
- 자바의 정석 기초편 ch12
- 자바의 정석 기초편 ch13
- 자바의 정석 기초편 ch7
- 자바의 정석 기초편 ch2
- 자바의 정석 기초편 ch4
- 스프링 mvc2 - 검증
- 자바의 정석 기초편 ch11
- 스프링 mvc2 - 타임리프
- 스프링 mvc2 - 로그인 처리
- 스프링 입문(무료)
- 자바의 정석 기초편 ch5
- Today
- Total
목록스프링 트랜잭션 (8)
개발공부기록

출처 : 인프런 - 스프링 DB 2편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-21. 트랜잭션 전파 활용1 - 예제 프로젝트 시작지금 까지 배운 트랜잭션 전파에 대한 내용을 실제 예제를 통해 학습1) 비즈니스 요구 사항회원을 등록하고 조회회원에 대한 변경이력을 추적할 수 있도록 회원 데이터가 변경될 때 변경 사유에 대한 이력을 DB LOG 테이블에 남겨야함예제를 단순화 하기 위해서 회원 등록시에만 DB LOG 테이블에 남기는 것으로 진행2) MemberJPA를 통해 관리하는 회원 엔터티package hello.springtx.p..

출처 : 인프런 - 스프링 DB 2편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-21. 스프링 트랜잭션 전파1 - 커밋, 롤백1) BasicTxTest기본적으로 트랜잭션을 실행하는 예제 코드new DataSourceTransactionManager를 스프링 빈으로 등록하고 PlatformTransactionManager를 주입받으면 DataSourceTransactionManager가 주입됨(1) commit(), rollback() 메서드txManager.getTransaction(new DefaultTransactionAttr..

출처 : 인프런 - 스프링 DB 2편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-21. 트랜잭션 옵션 소개1) @Transaction - 코드, 설명 순서에 따라 약간 수정됨전체 옵션 예시public @interface Transactional { String value() default ""; String transactionManager() default ""; Class[] rollbackFor() default {}; Class[] noRollbackFor() default {}; ..

출처 : 인프런 - 스프링 DB 2편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-21. 스프링 트랜잭션 소개 및 프로젝트 생성스프링 DB1편 스프링과 문제 해결 - 트랜잭션 강의에서 배운 내용을 간략히 복습https://nagul2.tistory.com/308https://nagul2.tistory.com/3091) 스프링 트랜잭션 추상화각각의 데이터 접근 기술들은 트랜잭션을 처리하는 방식에 차이가 있었음JDBC 기술을 사용하다가 JPA 기술로 변경하게 되면 트랜잭션을 사용하는 코드도 모두 함께 변경했어야 하는데 스프링이 제공하는..

출처 : 인프런 - 스프링 DB 2편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-21. 테스트 - 데이터베이스 연동데이터 접근 기술에 대해서 더 알아보기 전에 데이터베이스에 연동하는 테스트에 대해 먼저 알아보고 넘어가야 함(중요함)데이터 접근 기술을 실제 데이터베이스에 접근해서 데이터를 잘 저장하고 조회할 수 있느지 확인하는 것이 필요함메모리 DB로 테스트했던 ItemRepositoryTest를 통해서 테스트를 진행 1) test - application.properties 수정테스트 케이스는 src/test에 있으므로 test/..

출처 : 인프런 - 스프링 DB 1편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard1. 트랜잭션 템플릿트랜잭션을 사용하는 로직을 살펴보면 반복 패턴이 있는 것을 확인할 수 있는데, 해당 부분을 트랜잭션 템플릿으로 제거할 수 있음1) 트랜잭션 사용 코드 try-catch를 활용한 트랜잭션을 시작 -> 비즈니스 로직 -> 성공하면 커밋, 실패하면 롤백하는 형태가 각각의 서비스에서 반복될 것이고 비즈니스 부분 로직만 달라질 것임이럴 때 템플릿 콜백 패턴을 활용하면 반복 문제를 해결할 수 있음** 참고지금은 스프링이 T..

출처 : 인프런 - 스프링 DB 1편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard1. 문제점들1) 애플리케이션 구조여러가지 구조가 있지만 가장 단순하면서 많이 사용하는 방버은 역할에 따라 3가지 계층으로 나누는 것 (1) 프레젠테이션 계층 - @ControllerUI와 관련된 처리 담당웹 요청과 응답사용자 요청을 검증주 사용 기술: 서블릿과 HTTP 같은 웹기술, 스프링 MVC(2) 서비스 계층 - @Service비즈니스 로직을 담당주 사용 기술: 가급적 특정 기술에 의존하지 않고, 순수 자바 코드로 작성(3)..

출처 : 인프런 - 스프링 DB 1편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard1. 트랜잭션 이해1) 데이터 베이스에 저장하는 이유데이터를 저장할 때 단순히 파일에 저장하는 것이 아닌 데이터베이스에 저장하는 이유 중 가장 대표적인 이유는 데이터베이스는 트랜잭션이라는 개념을 지원하기 때문임트랜잭션은 이름 그대로 번역하자면 거래라는 뜻인데, 데이터베이스에서 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해주는 것을 뜻함하나의 거래를 안전하게 처리하려면 생각보다 고려해야할 점이 많은데, 예를들어 계좌이체의 경우 ..