Post

Spring Boot 예제: 초간단 게시판

Spring Boot 예제: 초간단 게시판

이 예제에는 스프링 시큐리티를 사용하였습니다. 시큐리티와 관련된 내용은  스프링 시큐리티 관련 글을 참고하세요.

 

개요

Spring Boot의 기본 기능(Thymeleaf, 시큐리티 포함)을 이용해서 전통적 형태의 웹 게시판을 만들었습니다. 게시판은 웹 프로그래밍에 있어서 필수라고 볼 수 있는 CRUD(Create, Read, Update, Delete)를 연습하기에 적당한 예제입니다.

이 게시판은 로그인 환경을 가정하여 만들었습니다. 로그인 관련 부분은 시큐리티에서 다룹니다. 이로 인한 게시판의 추가 요구사항은 다음과 같습니다.

  • 로그인이 되어있지 않다면 게시판의 글 목록만 보여주고, 내용은 볼 수 없게 한다.
  • 게시글의 수정, 삭제 기능은 해당 글을 작성한 사용자만 접근할 수 있도록 한다.

이 예제에서는 스프링 부트의 내용을 연습하기 위해 자바스크립트는 따로 사용하지 않았습니다. 그리고 목적상 고급 기능(페이징 기능 등)은 아직 구현되지 않았습니다.

 

프로젝트의 구조 (일부)

  • SimpleBoardController: 게시판 관련 컨트롤러
  • SimpleBoardDAO: 게시판 테이블 DAO, 작업 편의상 서비스, DTO는 따로 작성하지 않았습니다. DTO 대신 Map을 사용합니다.

 

데이터베이스 구조

데이터베이스 설정하는 방법은 Spring Boot: mariadb 연결하기 (JDBC-Maven 기준)를 참고하세요.

 

코드 (일부)

https://gist.github.com/ayaysir/5ee2ccb6efd8063a568e2d5944ffd21c

 

동작 내용

메인 화면 (로그인한 경우)

 

메인 화면 (로그인하지 않은 경우)

 

게시글 보기 (내 글)

 

게시글 보기 (다른 사람의 글)

 

게시글 작성

 

게시글 수정

 

게시글 삭제

This post is licensed under CC BY 4.0 by the author.