본문 바로가기

전체 글32

[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] 게시글 등록 기능에 REST API 적용하기 이전에 구현한 게시글 등록 기능에 REST API를 적용할 것이다. 프론트엔드에서 게시글을 등록하면, 등록할 때 입력된 정보를 JSON 타입으로 반환해주기로 해서 JSON 타입의 데이터를 받아와 DB에 저장하고, 등록한 게시글 상세 페이지로 redirect 해주도록 코드를 수정할 것이다. 기존에는 잘 실행되는지 확인하기 위해 "system.out.println"을 사용해 consol에 출력했다면, 이제부터는 로그로 출력할 것이다. 스프링 부트 라이브러리를 사용하면 spring-boot-starter-logging 가 함께 포함된다. 스프링 부트 로깅 라이브러리는 기본으로 SLF4J, Logback 라이브러리를 사용한다. 로그를 출력하기 위한 로깅 라이브러리와 관련된 코드도 추가할 것이다. 이제 코드를 수.. 2022. 3. 28.
[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.
728x90
LIST