QueryDSL의 null처리
·
Spring
Query DSL 활용Query DSL의 큰 장점 중 하나는 where 절에서의 null 처리이다. 여러 조건에 부합하는 결과를 조회해야 한다고 하자.칸반 보드 프로젝트를 진행할 당시 상태와 담당자 닉네임을 필터링할 필요가 있었다.그러나 해당 조건을 전부 받을 수도 있으나 담당자 닉네임 혹은 상태만 들어올 가능성도 있었다.그러면 총 세 개의 Query 메서드를 작성해야 하나? 생각할 수도 있지만Query DSL은 where 절에 null이 들어왔을 경우 알아서 where 문을 생략해 준다!queryFactory.selectFrom(card) .where(card.board.id.eq(boardId) ,eqStatus(searchCond.getStatus()) ..
[Spring] JUnit 5 단위 테스트
·
Spring
JUnit 5 자바 프로그래밍 언어 용 단위 테스트 프레임워크단위 테스트는 각 단위가 정확하게 동작하는지를 검사하는 테스트 기법으로 빠르게 작성할 수 있고 문제 발생 시 잘못된 부분을 손쉽게 장점이 있다.  JUnit 5 User GuideAlthough the JUnit Jupiter programming model and extension model do not support JUnit 4 features such as Rules and Runners natively, it is not expected that source code maintainers will need to update all of their existing tests, test extensions, and custojunit.or..
[Spring] Naver, Google 로그인 (OAuth2)
·
Spring
OAuth2를 사용하지 않을 경우https://mountain-noroo.tistory.com/176 [Spring] Naver 로그인 (Oauth2 X)네이버 애플리케이션 등록네이버 소셜 로그인 기능을 사용하기 위해서는 네이버 디벨로퍼스에서 네이버 애플리케이션 등록이 필요하다.https://developers.naver.com/ NAVER Developers네이버 오픈 API들을mountain-noroo.tistory.com OAuth2 라이브러리를 사용하지 않을 경우는 위 글을 참고해보자.여기서는 기본적으로 구글, 네이버의 애플리케이션 등록이 끝났음을 전제로 포스팅을 작성하겠다.개인적으로는 OAuth2를 사용하였을 때 훨씬 간편했으나 유연성은 직접 만들었을 때를 따라잡을 수 없다고 생각한다.  OAu..
[Spring] Naver 로그인 (Oauth2 X)
·
Spring
네이버 애플리케이션 등록네이버 소셜 로그인 기능을 사용하기 위해서는 네이버 디벨로퍼스에서 네이버 애플리케이션 등록이 필요하다.https://developers.naver.com/ NAVER Developers네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음developers.naver.com 디벨로퍼스에 가입을 하고 Application -> 애플리케이션 등록으로 이동한다.권한 중 필요한 것을 추가한다.필수로 체크한 것은 최초 로그인 시 제공 동의를 받게 된다.  아래에서 PC 웹 환경울 추가하고 서비스 URL(로컬 프로젝트라 로컬 호스트 사용)와 콜..
[Spring] JPA Hibernate 칼럼 파싱 문제
·
Spring
겪은 문제PropertyReferenceException: No property 'created' found for type 'Post'; Did you mean 'createdAt’ 이 에러가 계속 떠서 어디서 발생하는 에러지? 하고 보니 findByTitleContainingAndCreatedAtBetween 쿼리 메서드를 호출할 때 발생했다. public PostsResponseDto getPosts(int page, String sortTypeStr, String search, String start, String end) { SortType sortType = SortType.fromColumn(sortTypeStr); Sort sort = Sort.by(sortT..
[Spring] @Transactional 사용 시 NullPointerException 발생
·
Spring
겪은 문제@Service@RequiredArgsConstructorpublic class UserService { private final UserRepository userRepository; private final UserMapper userMapper; public final User signup(UserSignupRequestDto requestDto) { User user = this.userMapper.toEntity(requestDto); return this.userRepository.save(user); } @Transactional public void verify(User user) { user.verify(); ..