분류 전체보기146 [Spring] @TransactionalEventListener 자신이 작성한 오브젝트(피드, 댓글)에 다른 유저가 상호작용(좋아요, 댓글, 대댓글)을 하면 알림주는 기능을 구현했습니다. 알림은 오브젝트들과 강한 결합을 만들기는 적절하지 않다고 생각해서 EventListener를 사용하면 어떨까? 생각했습니다. EventListener를 이용해서 특정 시점(좋아요 저장, 댓글 저장, 대댓글 저장)에 알림을 저장하는 이벤트를 실행시켰습니다. 이때 신경썼던 포인트는 다음과 같습니다. 상호작용(좋아요, 댓글, 대댓글)을 저장할때 알림이 저장에 실패한다고 상호작용도 함께 롤백되서는 안됩니다.(알림은 저장에 실패해도 상호작용은 정상적으로 저장되야함) 상호작용 저장에 실패하면 알림도 저장되어선 안됩니다. 위 두가지 요구사항을 충족하기 위해 사용한 EventListener는 @T.. 2021. 8. 25. [Spring Data Common] Repository, @NoRepositoryBean Spring Data Spring Data는 Spring 에서 SQL & NoSQL 저장소 지원 프로젝트의 묶음입니다. Spring 에서 제공하는 여러 저장소 지원 프로젝트의 공통 프로젝트가 바로 Spring Data Common 입니다. Spring Data Common JpaRepository 인터페이스는 Spring Data Jpa 에서 제공하는 인터페이스 JpaRepository 가 상속받는 PagingAndSortingRepository는 Spring Data Common 에서 제공하는 인터페이스 PagingAndSortingRepository부터는 Spring Data Common단의 인터페이스 이다. PagingAndSortingRepository : 페이징, 정렬 지원하는 메서드 제공합니다.. 2021. 8. 23. [Spring Data JPA] JpaRepository를 상속받기만 하면 빈으로 등록된다? Spring Data Jpa를 사용하면서 우리가 사용하는 Repository 인터페이스는 아래와 같습니다. import org.springframework.data.jpa.repository.JpaRepository; public interface AccountRepository extends JpaRepository { } 이 코드만 봐서는 어떻게 AccountRepository가 빈으로 등록되는지 알 수 없습니다. @Repository 애노테이션을 붙이지 않았지만 실제로 빈으로 등록되어있고 다른곳에서 주입받아서 사용할 수 있습니다. 추측할 수 있는 곳은 JpaRepository내부 구현입니다. 하지만 JpaRepository 내부를 타고 들어가도 빈으로 등록해주는 코드는 존재하지 않습니다. @Enab.. 2021. 8. 23. [JPA] JPA 기초 왜 JPA를 학습해야 할까요? JDBC API를 사용해서 코딩하다 보면 SQL과 JDBC API를 작성하는데 많은 시간을 투자합니다. 특히 CRUD용 SQL은 뻔한 반복작업이 되고 많은 반복적인 코드인 탓에 재미도 없습니다. 또한 객체와 관계형 데이터베이스의 패러다임 불일치 문제도 존재합니다. 객체와 관계형 데이터베이스(RDB)의 패러다임 불일치 문제 상속 객체는 상속이라는 기능을 가지고 있지만 테이블은 상속이라는 기능이 없습니다. 연관관계 객체는 참조를 사용해서 다른 객체와 연관관계를 가지고 참조에 접근해서 연관된 객체를 조회합니다. 관계형 데이터베이스의 테이블은 외래 키를 사용해서 다른 테이블과 연관관계를 가지고 조인을 사용해서 연관된 테이블을 조회할 수 있습니다. 여기서 한쪽의 테이블에서 외래 키를.. 2021. 8. 23. Oauth2.0 정리 Oauth란? Oauth 의 의미를 풀어보면 Open Authentication(인증), Open Authorization(인가) 으로 인증과 인가를 개방한다 정도로 해석할 수 있습니다. Oauth는 리소스서버에 있는 사용자의 권한을 획득할 수 있도록 합니다. 즉, 인증과 인가를 위한 개방형 표준 인터넷 프로토콜 입니다. 쉽게 말하면 우리의 웹 애플리케이션에서 구글 캘린더에 접근하거나 페이스북에 접근하여 사용자에게 편리한 경험을 주려고 합니다. 이 때 우리는 Oauth를 사용해서 우리 웹 애플리케이션의 사용자가 구글이나 페이스북과 같은 리소스 서버에 인증 또는 인가를 하도록 할 수 있습니다. (이전에는 Oauth가 단순히 로그인만을 위한것이라 생각했습니다 ㅠㅠ) 소셜 로그인으로 사용하는 Oauth Oau.. 2021. 8. 19. 이전 1 ··· 8 9 10 11 12 13 14 ··· 30 다음