스프링 예외 처리 방식(체크 예외 vs 언체크 예외)
·
Study/Spring
이 글을 쓰게 된 배경예외 처리 관련 로직에서 어려움을 겪다 지금까지 예외 처리에 대한 전반적인 이해와 기본기가 부족하다는 생각에 기본적인 내용을 다시 공부하며 제가 공부한 내용과 이해한 내용을 바탕으로 작성한 글입니다. 예외의 원리에 대한 내용은 김영한 님의 스프링 DB 1편 - 데이터 접근 핵심 원리 를 참고하였고 실제로 코드에 적용한 부분은 제가 프로젝트에서 직접 사용한 부분을 추출하였습니다.다룰 내용예외체크 예외언체크 예외실제 적용예외자바에서는 Throwable을 예외의 최상위 클래스로 제공합니다. Throwable은 자바의 최상위 클래스 Object를 상속받습니다. Throwable에는 Error와 Exception이 있는데 Error는 메모리 부족이나 시스템 오류 같이 복구 불가능한 예외들을 ..
트랜잭션 by JPA
·
Study/Spring
이 글을 쓰게된 배경저는 지금까지 스프링부트에서 트랜잭션을 사용할 때 @Transactional 어노테이션을 붙여서 사용했고 어떤 때에 트랜잭션을 사용해야 하는지도 인지하고 사용했습니다. 이번 학기에 데이터베이스설계 과목을 들으면서 트랜잭션과 락에 대한 내용을 공부하면서 트랜잭션에도 제가 알고 있던 것 보다 더 깊은 부분이 있다는 것을 상기시킬 수 있었습니다. 트랜잭션이 단순히 ACID를 보장하는 것 뿐 아니라 더 깊은 수준의 개념들을 스프링부트가 어떤 방식으로 제공하고 있는지에 대한 것을 정확하게 알아야겠다는 생각에 옛날에 봤었던 김영한님의 강의 중 트랜잭션에 관련된 내용을 다시 학습하고 제가 이해한 내용을 바탕으로 이 글을 작성합니다.트랜잭션이란트랜잭션은 직역하자면 '거래' 라는 뜻으로 데이터베이스에..