스프링5 @Transactional 어노테이션 Spring을 이용해 백엔드 개발을 하다 보면, Service 단에서 @Transactional 이라는 어노테이션을 볼 수 있습니다. 오늘은 @Transactional 어노테이션에 대해 다루어 보겠습니다. 0. 배경 1. @Transactional 어노테이션이란? 2. @Transactional 세부 옵션 0. 배경 회사에서 개발을 하면서, 화면 상에서 특정 항목 추가, 수정, 삭제를 하는 경우를 만들게 되었습니다. 앞단에서의 형식은 grid로 되어 있고, 저장 버튼을 클릭하면 각 row마다 상태가 "CREATE", "INSERT", "DELETE", "" 네 가지 값 중 하나가 담긴 상태로 Controller 단계로 넘어갑니다. Controller에서는 이를 List 형태로 받고, 이를 Service로.. 2022. 7. 3. [Spring] 스프링의 DB 접근 기술 간단 소개 개요 2003년에 스프링이 최초로 공개된 이래로, 스프링은 DB에 접근하는 방법을 꾸준히 발전시켜 왔습니다. 객체지향 관점에서 개발하는 스프링과, 관계를 중심으로 데이터를 저장하는 RDBMS는 접근 방식부터 차이가 있기 때문에, 이 둘을 함께 이용하여 개발하기란 쉽지 않습니다. 이 글에서는 Java와 스프링의 DB 접근 기술이 어떻게 발전되어 왔는지 순서대로 나열하여 소개해 보고자 합니다. (iBatis/MyBatis는 이 글에서는 다루지 않았습니다.) 순수 JDBC Spring JdbcTemplate JPA 스프링 데이터 JPA 1. 순수 JDBC JDBC는 Java Database Connectivity의 약자로, Java 환경에서 DB에 접근하기 위한 표준 API입니다. JDBC는 Spring 프레.. 2022. 3. 16. [혼자 구현하는 웹서비스] 5. 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 (2) * 이 글은 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' (프리렉, 이동욱 저)를 공부하며 내용을 정리한 글입니다. * 이 글은 5. 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 (1)에서 이어집니다. 4. 어노테이션 기반으로 개선하기 일반적으로 프로그래밍을 할 때, 우리가 가장 피하고 싶은 상황 중에는 어느 것이 있을까? 각자 다른 상황이 떠오르겠지만, 같은 내용의 코드를 여러 번 반복해서 작성하는 상황은 많은 개발자들이 공감할 수 있을 것이다. 이런 상황에서는 작성을 여러 번 하며 귀찮기도 하지만, 나중에 이를 기능적으로 수정해야 할 때 반복해서 작성한 횟수만큼 고쳐야 한다. 뿐만 아니라 단순 오타 같은 문제가 생겨도 이를 찾아내기 쉽지 않다. 앞서 만든 코드 중에서 개선할 수.. 2022. 1. 15. [혼자 구현하는 웹서비스] 5. 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 (1) 0. 개요 1. 스프링 시큐리티와 스프링 시큐리티 Oauth2 클라이언트 2. 구글 서비스 등록 3. 구글 로그인 연동하기 4. 어노테이션 기반으로 개선하기 5. 세션 저장소로 데이터베이스 사용하기 6. 네이버 로그인 7. 기존 테스트에 시큐리티 적용하기 *이 글은 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' (프리렉, 이동욱 저)를 공부하며 내용을 정리한 글입니다. 0. 개요 스프링 시큐리티는 막강한 인증과 인가 (Authentication and Authorization)를 가진 프레임워크이다. 스프링 기반에서의 보안 표준으로, 스프링에서는 이를 활용하기를 적극 권장하고 있다. 확장성을 고려한 프레임워크이므로 다양한 기능을 손쉽게 추가 및 변경할 수 있고, 이는 스프링 부트 2.0으로 넘어오며.. 2021. 12. 31. [혼자 구현하는 웹서비스] 2. (1) 테스트 코드 0. 개요 1. 테스트 코드 소개, TDD와의 차이점 2. 테스트 코드 작성하기 0. 개요 많은 회사 채용 과정에 테스트 코드 작성 경험을 우대한다. 테스트 코드의 중요성. 1. 테스트 코드란? TDD (test-driven development)와 단위 테스트 (Unit test)는 분명하게 다른 것이다. TDD는 말 그대로, 테스트가 주도하는 개발 과정을 의미한다. 테스트 사이클은 다음과 같은 3단계 과정을 거친다. i. 항상 실패하는 테스트를 작성하고 (red), ii. 테스트가 통과하는 프로덕션 코드를 작성하고 (green), iii. 테스트가 통과하면 프로덕션 코드를 리팩토링한다 (refactor). 단위 테스트는 TDD의 첫 번째 단계인 '기능 단위의 테스트 코드를 작성' 하는 것을 의미한다... 2021. 6. 25. 이전 1 다음