Back-End53 Spring boot @ControllerAdvice 쉽게 말하자면 컨트롤러 계층에서 AOP를 적용시키기 위한 어노테이션이라고 할수 있을것 같다. 해당 어노테이션을 주로 사용하는 예시에는 예외처리에 대한 코드가 대부분 있다. 컨트롤러단 메서드들의 코드들을 좀 더 단순화 시키고 가독성이 좋게 하기 위한 목적으로 쓰이는 편이다. 이 어노테이션과 비슷한 어노테이션이 하나 존재한다 -> @RestControllerAdvice 보면 눈치 채셨겠지만 차이점은 Rest한 메서드들에 적용시킬지 아닐지에 대한 것 뿐이다. 우선 2가지 정도의 예외를 직접 간단히 만들어보았습니다.. public class NotEnoughStockException extends RuntimeException { public NotEnoughStockException() { super("해당 .. 2021. 5. 17. @QueryProjection 으로 Querydsl 작성 개발환경 - Gradle - Spring Boot - Postgresql 페이징 용도로만 사용하는 것인 줄 알았지만 내 착각이였다. 최근에 면접을 보고 해당 회사에서 Querydsl을 위주로 사용해서 개발하신다는 말을 듣고 짧게나마 사용했던 Querydsl을 공부해보고자 이번 개인 프로젝트 진행하면서 사용을 해봤습니다.. @Configuration public class QuerydslConfiguration { @PersistenceContext private EntityManager entityManager; @Bean public JPAQueryFactory jpaQueryFactory() { return new JPAQueryFactory(entityManager); } } 구글에 검색해서보면 J.. 2021. 5. 11. JPA) @Entitygraph JPA를 사용하다보면 N+1 문제를 자주 마주치게 되는데 그에 대한 해결방안 중 하나인 @EntityGraph 처음에 강사님에게 배울때는 3가지정도가 있다고 들었다. 1. Fetch join 2. @Entitygraph 3. @Query에 의한 작성 간단하게 사용방법 정도만 포스팅하겠습니다. @Builder @AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) @Table(name = "order_item") @Getter @ToString(exclude = "item") @Entity public class OrderItem extends BaseEntity { @Id @GeneratedValue(strategy = Generat.. 2021. 5. 7. Spring Data JPA 와 Postgresql 연동 빠르게 방법만 우선 포스팅 하겠습니다. 1. build.gradle 직접 프로젝트 생성시 의존성 추가를 하셔도 됩니다. 2. application.properties # Postgresql spring.datasource.url=jdbc:postgresql://localhost:5432/fowkr spring.datasource.username=fowadmin spring.datasource.password=fowadmin # JPA spring.jpa.hibernate.dialect = org.hibernate.dialect.PostgreSQL10Dialect spring.jpa.hibernate.ddl-auto=update spring.jpa.properties.hibernate.format_sql .. 2021. 4. 21. 정리) Chapter 2 하나하나 특정 코드에 대한 역할과 설명만 작성해서 공부용도로 사용. import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @GetMapping("/hello") public String hello() { return "hello"; } @GetMapping("/hello/dto") public HelloResponseDto helloDto(@Reques.. 2021. 4. 1. Spring) 게시물 찜하기 기능 구현 - 데이터 전달 (1/2) 환경) sts3 , MySQL , MyBatis 게시물을 조회하고 해당 게시물을 저장할 수 있는 찜하기 기능을 구현하였다. 시큐리티를 적용시킬 경우 테스트하는데 복잡하기 떄문에 우선 임의로 로그인 사용자를 지정해서 하였다. 해당 기능의 로직은 다음과 같다. 1. 상세페이지의 찜하기 버튼을 클릭한다. -> 나는 fontAwesome에 있는 아이콘을 이용해서 만들었다. 2-1. 로그인한 사용자가 해당 게시물을 이미 찜한 상태라면 alert창을 생성 2-2 찜하지 않은 상태라면 confirm을 통해 찜리스트 페이지로 들어갈지 말지 결정. 3. 찜리스트 페이지에 찜한 게시물의 정보가 출력된다. * 구현코드 및 사진 1. DB 간단하게 사용자(userid)와 게시물번호(Cno - [PK])만 받아서 설계하였다. .. 2021. 3. 30. 이전 1 ··· 4 5 6 7 8 9 다음