Spring Boot 5

#1 CRUD 기능을 하는 API 서버 만들어보기

간단한 CRUD 기능을 가진 API 서버를 설계부터 해서 한번 만들어 보겠습니다 만들기 앞서 어떤걸 만들고자 하는지 그리고 사용하는 환경에 대해 한번 정리하고 가겠습니다 🎈목표 🎈테이블 🎈환경 😎개발자가 되고싶니? 무작정 코드만 줄줄 치는 코더가 아닌 개발자로 성장하려면 무작정 코드를 치는 것이 아닌 설계부터 탄탄하게 잡고 가는 것이 좋다고 어디서 본 기억이 있어서 한번 만들어봤는데 ERD 나 다른 문서들이 필요할 만큼 큰 프로젝트가 아니기에 간단하게 만들어 보았습니다 그럼 이제 본격적으로 시작해보죠 패키지 구성하기 yml 설정하기 #1 spring: datasource: url: jdbc:mariadb://localhost:3306/api username: api password: api driver-..

우선 널 알아야겠구나...! 컴포넌트 스캔 (Component Scan)과 Auto Configuration

부트캠프 과정을 마치고 생각보다 빠르게 취업에 성공해서 기뻐한 것도 잠시... 게시판만 만들던 저에게 크나큰 시련이 찾아왔습니다. 바로 API설계..... 물론 만들어 본적은 있지만 짧은 기간에 많은 것을 배우다 보니 정확하게 이해하지 못하고 넘어간 부분이 많아 환경이 변하니 어떤 거부터 만들어야 할지... 막막해 다시 차근차근 공부해보려 합니다. API 설계를 하려하니 우선 Spring Boot의 Auto Configuration에 대한 이해가 조금은 있어야 한다는 생각이 들었습니다. 이유는... 코드를 짜던중 컴포넌트로 인식을 못하는 상황이 생겼기 때문이죠... 그래서 준비한 이야기!! 지금부터 시작합니다. 컴포넌트 스캔 (Component Scan) 과 Auto Configuration 컴포넌트 스..

Spring Boot API 2022.08.09

@Transactional 그리고 @Commit

Spring Boot에서 테스트 코드를 작성하면서 이건 기억하면 좋겠다 싶은 내용이 있어 달려왔습니다 우선 진행하려던 코드는 첨부파일 업데이트 관련 테스트 코드입니다 @Transactional @Commit @Test public void testUpdateImage(){ Board board = repository.getById(20); board.changeTitle("제목 수정.....20"); board.clearImages(); for (int i = 0; i < 3; i++) { BoardImage boardImage = BoardImage.builder() .fileLink("aaa"+i+"jpg") .build(); board.addImage(boardImage); } repository...

JPA One To Many 그리고 N+1

JPA를 하면서 연관관계에 대해 공부하던 중 접하게 된 One To Many 장점과 단점이 있었지만 솔직히 장점보다는 단점이 더 많은 방법처럼 느껴졌습니다. 우선 장점으로는 관리의 주체가 도메인 스러워지고 Pk위주의 설계인점 이 있었고 단점으로는 단방향 참조이기에 페이징 , N+1 등 다양한 문제점들이 있었습니다. 😉그럼 좀더 깊~~~ 숙하게 One To Many를 알아보겠습니다. 😒맵핑 테이블? 우선 One To Many 는 기본적으로 중간에 맵핑 테이블을 생성합니다 하지만 이런 방식이 불편하게 느껴지기에 저는 강제적으로 맵핑 테이블이 생성되지 못하도록 처리해서 코드를 작성했습니다. @Entity @Table(name = "t_board") @AllArgsConstructor @NoArgsConstru..

고민해 보기 2022.07.18

Spring Boot 의 _ (언더바) 문제

Spring Boot의 _ (언더바) 문제 Spring Boot 페이징 테스트를 하던 도중 에러가 발생했습니다 테스트 문은 이렇습니다 @Test public void testPage1(){ Pageable pageable = PageRequest.of(0,10 , Sort.by("q_id").descending()); repository.findAll(pageable); } PK값인 q_id 값으로 sort.by를 해주었는데 이런 무시무시한 에러가 발생했습니다 에러 문을 보고 다른 칼럼인 content 값으로 sort.by를 해보았더니 그건 정상적으로 테스트가 진행되는 것을 보니 q_id 가 문제인가 생각되어 찾아보니 이럴 수가…. 언더바 _ 를 인식을 못한다는 글을 발견했습니다 ….. (… 지금 우리 ..

에러 2022.06.15