본문 바로가기

Spring Boot18

[Plming] DB 설정 변경 및 게시글 기능 추가 2022년 03월 29일에 팀 회의 진행 결과 게시글 DB에서 변경 사항이 생겨 DB 설정을 변경하고 회의 내용을 토대로 게시글 구현 코드를 변경하고, 게시글의 조회수 증가와 삭제 기능을 추가할 것이다. 1. DB 컬럼 설정 변경 DB 설정을 변경할 때는 DB 안의 데이터가 하나도 없는 상태여야 한다. 만약 DB 안에 데이터가 들어가 있는 경우 "delete from {table 이름}"을 실행해 DB를 비운 뒤 아래 내용을 실행해야 잘 변경될 것이다. 기존 DB 설정을 확인해보면 아래와 같다. 이 중에서 delete_yn의 enum 값을 ('Y', 'N')이 아니라 true, false로 변경하는 것이 좋을 것 같다는 의견이 나와 이 부분을 수정할 것이다. true인 경우 delete_yn의 enum .. 2022. 3. 30.
[Plming] 게시글 등록 / 수정 구현하기 코드 설명은 추후에 추가하겠습니다! 이번에는 비즈니스 로직을 담당하는 Service Layer와 API 호출을 담당하는 Rest Controller를 처리해 볼 것이다. 1. Service Layer에서 사용할 Class 생성하기 Service Layer에서 API를 처리하기 위해 필요한 클래스는 총 3개이다. 게시글의 생성과 수정을 처리할 요청(Request) DTO 클래스 게시글 정보를 return 할 응답(Response) DTO 클래스 트랜잭션(Transaction)을 처리할 Service 클래스 1.1. 요청(Request) DTO 클래스 생성하기 "plming.board" 패키지에 dto 패키지를 생성한 후 BoardRequestDto 클래스를 생성하고 아래 코드를 작성한다. 더보기 packa.. 2022. 3. 29.
[Plming] 게시판 예외 처리(Global Exception Handling) 알아보기 1. Logback 적용하기 SQL 쿼리가 실행됐을 때 상세한 로그를 확인할 수 있도록 로그백 설정을 적용한다. "main.resources.template" 패키지에 logback-spring.xml 파일을 추가하고, 아래 코드를 작성한다. %d %5p [%c] %m%n %d %5p %m%n 쿼리 로그가 정렬되어 출력되고, 쿼리에 대한 추가적인 정보를 제공받을 수 있도록 Log4JDBC 라이브러리를 추가해볼 것이다. build.gradle의 dependencies에서 implements 가장 하단에 Log4JDBC 라이브러리만 추가한다. 라이브러리를 추가한 다음에는 반드시 다시 빌드해주어야 된다. implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jd.. 2022. 3. 29.
[Plming] 게시판에 JPA 적용하기 git을 잘못 사용해서 기존에 했던 작업물들이 모두 사라졌다.. github에 올려두었던 코드들을 다시 clone해올까도 했지만, 어차피 폴더 구조도 변경해야 하고, JPA와 REST API를 적용하도록 코드를 변경해야 해서 그냥 처음부터 다시 만들기로 결정했다. 그래서 다시 프로젝트를 생성하러 Spring Initializr에 들어갔다.. Project: Gradle Project Language: Java Spring Boot: 2.6.5 Project Metadata Group: board Artifact: plming Name: plming package name: plming Packaging: Jar Dependencies Spring Boot DevTools Lombok Spring Conf.. 2022. 3. 29.
[Plming] 게시글 등록 구현하기 이번에는 비즈니스 로직을 담당하는 Service, 사용자가 보는 화면인 View, Model 영역과 View를 연결해주는 Controller 영역을 개발을 진행한다. 프론트엔드 팀원이 있어서 View 파트는 진행하지 않아도 되지만, 테스트를 진행할 때 좀 더 편하게 진행하기 위해 View 파트도 진행하기로 했다. 1. Service 처리하기 이전에 Mapper 영역의 처리를 완료했기 때문에 서비스 영역부터 진행한다. 'plming.board.service' 패키지 안에 PostService 인터페이스를 생성하고, 아래 메서드를 작성한다. package plming.board.service; import plming.board.domain.PostDTO; import java.util.List; publi.. 2022. 3. 26.
[Plming] 게시판 CRUD 처리하기 개발을 시작하기 전에 현재 생성된 DB 모델 안에서 게시판과 관련된 table을 확인한다. 1. post 테이블 column 설명 id 게시글 id user id 게시글을 작성한 사용자 id title 게시글 제목 category 게시글 카테고리(스터디, 공모전, 프로젝트) staus 게시글 상태 (모집 중, 모집 완료) participant_num 참여 인원 period 진행 기간 view_count 게시글 조회수 create_date 게시글 생성 날짜 update_date 게시글 수정 날짜 2. post_tag 테이블 column 설명 id post_tag의 id post_id tag가 붙은 post의 id tag_id tag 테이블에서 post에 붙은 tag의 id 3. tag 테이블 column .. 2022. 3. 25.
[Plming] 개발 환경 세팅하기 [개발 환경] 더보기 Windows 10 IDE: IntelliJ IDE 2021.3.2 SQL: MySQL 8.0.x 2022년 3월 16일 ~ 2022년 3월 21일까지는 상세 기능 명세서를 작성하고, 프런트엔드 파트와 공유할 REST API 문서 초안을 작성했다. 작성한 내용은 아래 링크에서 확인 가능하다. 1. 상세 기능 명세서 2. REST API 초안 백엔드 파트 스프린트에서 각자 개발할 파트를 나눴다. 나는 게시판 부분 개발을 진행하기로 하고, 다른 팀원은 DB 설계와 서버 개설, 사용자 관리(로그인, 회원 가입) 부분 개발을 진행해주시기로 하셨다. 아직 스프링을 자유자재로 다룰 수 있는 실력이 되지 않아 우선 수강하던 스프링 강의(인프런 김영한 님의 스프링 MVC 활용 1편)를 모두 들은 .. 2022. 3. 24.
[Plming] 프로젝트 기획 Spring을 공부하며 이력서와 포트폴리오에 들어갈 팀 프로젝트를 해보면 좋을 것 같다는 생각에 캠퍼스픽에서 웹 프로젝트를 함께 진행할 팀원들을 모았다. 프로젝트 인원은 백엔드 2명, 프론트엔드 2명으로 진행하기로 했다. 백엔드는 Spring을 통해, 프론트엔드는 React를 통해 개발을 진행한다. 첫 번째 팀 회의에서 프로젝트를 기획하고 협업툴, 협업 규칙을 정했다. 1. 프로젝트 기획 프로젝트 주제 프로젝트 주제는 여러 의견이 나왔지만, 하나의 주제로 통합할 수 있었다. 여러 의견을 통합해 결정한 프로젝트 주제는 "프로그래밍 스터디 모집 사이트"이다. 이 사이트에서는 프로그래밍과 관련된 스터디, 공모전, 프로젝트의 팀원을 구할 수 있다. 사이트에 들어오면 현재까지 올라온 게시글을 볼 수 있음 참여를 .. 2022. 3. 24.
728x90
LIST