


방명록 하나의 글 정보를 저장하는 데이터 클래스
사용자가 작성한 글을 서버가 다룰 수 있게 객체화

1. 사용자가 /guestbook/new에서 이름과 내용을 입력하고, 작성 버튼 클릭
2. GuestbookController의 @PostMapping("/guestbook") 메서드로 요청 도착
3. 전달된 name, content 값을 바탕으로 GuestbookEntry 객체 생성
글을 메모리에 저장하고 관리하는 임시 데이터베이스 역할
글 저장, 삭제, 조회 처리



1. id가 null인 entry에 ID 할당(setId)
2. entries Map에 저장(put)
3. ID 증가시켜 다음 글 준비

사용자의 모든 웹 요청을 받아서, 데이터를 가져오거나 저장하고, 알맞은 뷰 템플릿을 반환하는 역할


GuestbookController가 동작하기 위해 필요한 GuestbookRepository를 의존성 주입(생성자 주입) 방식으로 받아서 필드에 할당
생성자 주입: 생성자를 통해 의존 객체(Repository 등)를 주입
의존성 주입(DI): 객체가 스스로 의존 객체를 만들지 않고, 외부에서 주입받는 방식

글 목록 조회

글 작성 폼 보여주기
별다른 로직은 없고 템플릿만 반환

글 저장 요청 처리
폼에서 name, content 받아서 객체 생성
저장소에 저장하고
다시 목록으로 리다이렉트 (redirect:/guestbook)

글 삭제 요청 처리
삭제 form에서 전송된 id 값으로 글 삭제
삭제 후 목록으로 리다이렉트



새 글 작성하기 클릭

작성 버튼 클릭

추가 작성

삭제
