Genie의 Java 개발 공부와 일지를 기록하는 아카이브 공간 Today I Learned123 (24.06.26)[11주차] JPA 심화 강의 01 JPA 에 관하여 DB에서 부터 DB를 JPA 관련하여 다룰 수 있도록 강의와 학습이 진행되는 주간이므로TIL에는 간단하게 정리,자세한 것은 노션으로 나의 말과 실습코드의 양이 많기 때문에 인덱스 위주로 배운내용을 크게 점검하는 형식으로 정리JPA 심화 강의 간단정리더보기DB (H2)내장형 H2 DB를 설치해서 사용할 수 있음Server Mode직접 엔진을 외부에 설치하여 사용하는 방식In-memory Mode애플리케이션 내부의 엔진을 사용하는 방식Embedded Mode애플리케이션 내부의 엔진을 사용하되 DB가 유지가 되는 방식DB Driver애플리케이션과 데이터베이스 간의 통신을 중개하는 번역기같은 역할 JDBC DriverJDBC Driver ManagerConnection(연결) 객체 을 생성하.. 2024. 6. 26. (24.06.25)[11주차] Spring Security의 User 권한 설정 팀 과제를 진행하면서 User 엔터티에 Role 부분에 USER와 ADMIN 두 권한을 분리를 했고,Spring Security 환경에서 ADMIN 유저에게 Controller단에서의 특정 API 접근을 제어하는 조건을 주고 싶었다.그래서 학습한 내용중에 가볍게 넘어가서 기억하지 못하는 내용 그리고 추가적으로 알아본 내용을 합쳐서 User 권한에 따라 권한을 설정하는 방법을 간단하게 정리를 하고자 한다. (팀 과제가 오늘까지 진행을 했어야했기 때문에 간단히 알아보고 스스로 학습해서 정리하는 시간만 가지는 것으로 한다.)Spring Security의 User 권한 설정가정Spring Security의 Authentication Manager 를 통해 로그인을 한 유저를 통해 이미 인가/검증이 끝난 상태로,.. 2024. 6. 25. (24.06.21)[10주차] CrudRepository & Delete 쿼리 메서드 Controller-Service-Repository 의 3 Layer Structure에 사용되는 Repository는 interface로, JpaRepository 를 extends 받는다.따라서 Service단에서는 주입받은 Repository에 쿼리메서드를 상요할 수 있는데, 지금까지는 findBy-- 형태의 일종의 Select-where 쿼리와 유사한 것만 사용하고 그 밖에는 Optional로 만들어서 쓸 수 밖에 없었는데, 팀과제를 하면서 내가 스스로 만들어낸 쿼리메서드가 아니라 이미 CRUD 에 특화된 CrudRepository를 활용할 수 있도록 코드를 짠 팀원을 보면서 코드 리뷰할 때 궁금증이 생겼고 이에 대해 조금 알아보고 정리하려고 한다. CrudRepositoryJpaReposito.. 2024. 6. 21. (24.06.20)[10주차] Optional 객체값 가져오기 Optional 객체 User user = userRepository.findByUsername(username).orElseThrow( () -> new IllegalArgumentException("회원을 찾을 수 없습니다.") );Controller - Service - Repository 형태의 3 Layer Architecture 에서 위 코드와 같은 쿼리 메서드를 레포지토리에 JpaRepository 를 extends 시켜서 사용할 수 있다.하지만, 여러 실습을 통해서 무조건 findBy로 찾지 못했을 때, orElseThrow 만 사용하는 것을 실습을 통해 많이 사용하지만, 예외가 던져진다면, 서버에서 작동을 멈추는 단점이 있기도 했다.이 때 만들어지.. 2024. 6. 20. 이전 1 ··· 7 8 9 10 11 12 13 ··· 31 다음