Spring
-
더보기 현재 작성중인 글입니다. 참고해주세요. QueryDsl? QueryDsl 사용하는 이점 IDE를 통한 자동완성 기능 컴파일 에러가 발생 조건문을 사용한 동적 쿼리문 작성이 간편 코드의 재사용성 증가 QueryDsl 사용하는 단점 까다롭다 간단한 사용예시 사용 예시 1) query문을 작성하려면 JpaQuery 인스턴스가 필요합니다. 이를 위해 JpaQueryFactory를 통해 인스턴스를 생성해야 합니다. 먼저 JpaQueryFactory를 영속성 컨텍스트를 파라미터로 넘겨서 생성합니다.(Querydsl은 JPA API를 사용하며 JPA를 지원하는 모듈입니다.) JpaQueryFactory queryFactory = new JpaQueryFactory(em); 2) 사용하려는 QEntity를 생성..
QueryDsl 사용법 모음더보기 현재 작성중인 글입니다. 참고해주세요. QueryDsl? QueryDsl 사용하는 이점 IDE를 통한 자동완성 기능 컴파일 에러가 발생 조건문을 사용한 동적 쿼리문 작성이 간편 코드의 재사용성 증가 QueryDsl 사용하는 단점 까다롭다 간단한 사용예시 사용 예시 1) query문을 작성하려면 JpaQuery 인스턴스가 필요합니다. 이를 위해 JpaQueryFactory를 통해 인스턴스를 생성해야 합니다. 먼저 JpaQueryFactory를 영속성 컨텍스트를 파라미터로 넘겨서 생성합니다.(Querydsl은 JPA API를 사용하며 JPA를 지원하는 모듈입니다.) JpaQueryFactory queryFactory = new JpaQueryFactory(em); 2) 사용하려는 QEntity를 생성..
2023.01.20 -
📂 Error List 1. TransactionRequiredException 해결 발생한 오류 TransactionRequiredException 오류가 발생한 코드 public void deleteWish(User user, Long roomId) { Room room = roomRepository.findById(roomId).orElseThrow( () -> new IllegalArgumentException("해당 숙소 정보를 찾을 수 없습니다.") ); Wish wish = wishRepository.findByUserAndRoom(user, room) .orElseThrow(() -> new IllegalArgumentException("찾을 수 없는 wish 항목입니다.")); wishR..
TransactionRequiredException, java.lang.ClassCastException, H2 console에서 Column not Found 해결📂 Error List 1. TransactionRequiredException 해결 발생한 오류 TransactionRequiredException 오류가 발생한 코드 public void deleteWish(User user, Long roomId) { Room room = roomRepository.findById(roomId).orElseThrow( () -> new IllegalArgumentException("해당 숙소 정보를 찾을 수 없습니다.") ); Wish wish = wishRepository.findByUserAndRoom(user, room) .orElseThrow(() -> new IllegalArgumentException("찾을 수 없는 wish 항목입니다.")); wishR..
2023.01.19 -
📌 Intro 항해99 주특기 숙련주차에서 처음 Spring Security를 접하고 미니프로젝트 주차에서도 Spring Security를 접했다. 물론 숙련주차에서 작성한 코드를 기반으로 했지만 Spring Security는 너무 어렵다...그리고 너무 내용이 방대하다.. 이번 포스팅에서는 간단하게 Spring Security 사용법과 메소드들을 쭉 나열하고 어떤 기능인지 적어봤다. 일단 이론적인 부분들로만 채웠는데 포스팅을 하면서 느낀 것은(포스팅 다하고 Intro 적는중..) Spring Security 프로젝트를 하나 만들어서 내가 직접 이것 저것 해봐야겠다..!는 것이다. Spring Security 프로젝트를 하나 파서 나중에 에러나는 부분들이나 에러를 해결하는 부분들을 잘 정리해보려고 한다!..
Spring Security 간단한 사용방법📌 Intro 항해99 주특기 숙련주차에서 처음 Spring Security를 접하고 미니프로젝트 주차에서도 Spring Security를 접했다. 물론 숙련주차에서 작성한 코드를 기반으로 했지만 Spring Security는 너무 어렵다...그리고 너무 내용이 방대하다.. 이번 포스팅에서는 간단하게 Spring Security 사용법과 메소드들을 쭉 나열하고 어떤 기능인지 적어봤다. 일단 이론적인 부분들로만 채웠는데 포스팅을 하면서 느낀 것은(포스팅 다하고 Intro 적는중..) Spring Security 프로젝트를 하나 만들어서 내가 직접 이것 저것 해봐야겠다..!는 것이다. Spring Security 프로젝트를 하나 파서 나중에 에러나는 부분들이나 에러를 해결하는 부분들을 잘 정리해보려고 한다!..
2023.01.19 -
Pagination 하는법 1. 파라미터를 Pageable 객체로 받거나 sort, page, size를 따로 받기. 1-1. 파라미터를 Pageable 객체로 받기 @GetMapping("/api/posts") public Page getPosts(@RequestParam String category , Pageable pageable) { ...생략 } Pageable 객체로 받을 때 주의할 점은 @RequestParam 없이 받아야한다. @RequestParam을 넣었더니 status code 400 Bad Request 에러발생! pageable을 출력하면 어떻게 출력될까? ?category=ALL&page=0&size=5&sort=default 참고로 controller단에서 sort를 따로 받..
Spring Pagination으로 무한스크롤 구현Pagination 하는법 1. 파라미터를 Pageable 객체로 받거나 sort, page, size를 따로 받기. 1-1. 파라미터를 Pageable 객체로 받기 @GetMapping("/api/posts") public Page getPosts(@RequestParam String category , Pageable pageable) { ...생략 } Pageable 객체로 받을 때 주의할 점은 @RequestParam 없이 받아야한다. @RequestParam을 넣었더니 status code 400 Bad Request 에러발생! pageable을 출력하면 어떻게 출력될까? ?category=ALL&page=0&size=5&sort=default 참고로 controller단에서 sort를 따로 받..
2023.01.18 -
📌 Intro 오늘부터 항해99 이제 5주차 주특기 심화가 시작되었다. 4주차 주특기 숙련때 과제가 너무 힘들었다. Spring Security, JWT, JPA... 아직 Spring이 이숙해지기도 전에 더 많은 기술들로 과제를 진행하다보니 정말 힘들었다. 처음으로 개인과제 구현을 다 못끝냈다. 그나마 위안이 되는 것은 모두가 힘들어했다는 것.. 그리고 5주차~7주차를 진행하면서 해당 기술들을 계속 사용해보고 익힐 수 있다는 것이다. 4주차를 진행하면서 Spring을 사용하는 것에 부족함이 많다고 많이 느꼈다. 그래서 인프런에서 Spring강의를 로드맵채로 구매했다. 단지 아쉬운 것은 JPA 로드맵도 통채로 구매하고 싶었지만...그것까지는 너무 부담이 되었고 일단 JPA는 책을 사서 공부를 진행해야하나..
[WIL] ORM, SQL, MVC📌 Intro 오늘부터 항해99 이제 5주차 주특기 심화가 시작되었다. 4주차 주특기 숙련때 과제가 너무 힘들었다. Spring Security, JWT, JPA... 아직 Spring이 이숙해지기도 전에 더 많은 기술들로 과제를 진행하다보니 정말 힘들었다. 처음으로 개인과제 구현을 다 못끝냈다. 그나마 위안이 되는 것은 모두가 힘들어했다는 것.. 그리고 5주차~7주차를 진행하면서 해당 기술들을 계속 사용해보고 익힐 수 있다는 것이다. 4주차를 진행하면서 Spring을 사용하는 것에 부족함이 많다고 많이 느꼈다. 그래서 인프런에서 Spring강의를 로드맵채로 구매했다. 단지 아쉬운 것은 JPA 로드맵도 통채로 구매하고 싶었지만...그것까지는 너무 부담이 되었고 일단 JPA는 책을 사서 공부를 진행해야하나..
2023.01.16 -
📌 Intro 항해99를 시작한지 이제 4주차가 된다. 3주차 주특기 입문에서 처음으로 Spring을 사용해봤다. Spring이 어렵다고 이야기만 들었는데 생각보다 너무 편하다. 하지만 편한만큼 내부적으로 어떻게 동작하는지 잘 이해가가지 않는 단점이 있다. 이제 Spring을 제대로 공부할 시간이 4주차 5주차 2주간의 시간이 남았는데 인프런의 Spring강의를 구매해서 들어볼까 고민중이다. Spring에서 중요한 개념 3가지를 한 번 정리해볼까한다. 1. DI(의존성 주입) 의존성 주입( Dependency Injection ) : 하나의 객체가 다른 객체의 의존성을 제공하는 테크닉이다. 의존성 주입의 의도는 객체의 생성과 사용의 관심을 분리하는 것이다. 이는 가독성과 코드 재사용을 높혀준다. 의존성 ..
[WIL] 🍃 의존성 주입(DI)과 제어의 역전(IoC) 그리고 스프링 빈(Spring Bean)📌 Intro 항해99를 시작한지 이제 4주차가 된다. 3주차 주특기 입문에서 처음으로 Spring을 사용해봤다. Spring이 어렵다고 이야기만 들었는데 생각보다 너무 편하다. 하지만 편한만큼 내부적으로 어떻게 동작하는지 잘 이해가가지 않는 단점이 있다. 이제 Spring을 제대로 공부할 시간이 4주차 5주차 2주간의 시간이 남았는데 인프런의 Spring강의를 구매해서 들어볼까 고민중이다. Spring에서 중요한 개념 3가지를 한 번 정리해볼까한다. 1. DI(의존성 주입) 의존성 주입( Dependency Injection ) : 하나의 객체가 다른 객체의 의존성을 제공하는 테크닉이다. 의존성 주입의 의도는 객체의 생성과 사용의 관심을 분리하는 것이다. 이는 가독성과 코드 재사용을 높혀준다. 의존성 ..
2023.01.13