Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

스프링 로그인 + 게시판 (CRUD 학습용)

스프링 부트의 기본기로 만든 회원가입 / 로그인 / 게시글 CRUD 예제입니다.

사용 기술

  • Spring Boot 3.3 (Java 21)
  • Spring MVC + Thymeleaf (화면)
  • Spring Data JPA + MySQL (CRUD)
  • HttpSession 로그인 (Spring Security 미사용 — 원리 학습용)

실행 방법

프로젝트 폴더에서:

# Windows 명령 프롬프트(cmd) / PowerShell
mvnw.cmd spring-boot:run

# Git Bash 등
./mvnw spring-boot:run

처음 실행 시 Maven과 라이브러리를 자동으로 내려받느라 시간이 좀 걸립니다.

실행 전 준비 (MySQL)

  1. MySQL 서버가 켜져 있어야 합니다.
  2. application.propertiesspring.datasource.password 에 본인 MySQL root 비밀번호를 입력하세요.
  3. board DB는 createDatabaseIfNotExist=true 옵션으로 자동 생성되니 직접 만들 필요는 없습니다. (수동으로 만들려면: CREATE DATABASE board DEFAULT CHARACTER SET utf8mb4;)

그 다음 브라우저에서 접속: http://localhost:8080

MySQL은 파일에 영구 저장되므로 서버를 꺼도 데이터가 남습니다. 테이블/데이터는 MySQL Workbench나 mysql CLI에서 USE board; SELECT * FROM member; 로 확인할 수 있어요.

화면 흐름

  1. /signup 회원가입 → /login 로그인
  2. 로그인하면 /posts/new 에서 글쓰기 가능
  3. 글 제목 클릭 → 상세 보기 → 본인 글이면 수정/삭제 가능

코드 읽는 순서 (추천)

  1. BoardApplication.java — 시작점
  2. domain/ — DB 테이블이 되는 클래스 (Member, Post)
  3. repository/ — DB 접근 (JpaRepository 상속만으로 CRUD 제공)
  4. web/MemberController.java — 로그인/세션
  5. web/PostController.java — CRUD의 핵심 (이 파일이 제일 중요)
  6. templates/ — 화면(HTML)

CRUD ↔ 코드 ↔ SQL 대응표

동작 메서드 주소 SQL
Create create() POST /posts INSERT
Read(목록) list() GET /posts SELECT
Read(상세) detail() GET /posts/{id} SELECT
Update update() POST /posts/{id}/edit UPDATE
Delete delete() POST /posts/{id}/delete DELETE

콘솔에 찍히는 show-sql 로그를 보면 JPA가 위 SQL을 실제로 날리는 걸 확인할 수 있어요.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages