🏠 1. 회원 웹 기능 - 홈 화면 추가
1-1. HomeController 만들기
package hello.hellospring.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HomeController {
@GetMapping("/") -> 홈 화면 출력 요청
public String home() {
return "home"; // templates/home.html을 찾아감
}
}
✔️ 설명
@Controller: 이 클래스가 웹 요청을 처리하는 컨트롤러 역할을 한다고 스프링에 알려주는 어노테이션.
@GetMapping("/"): 사용자가 브라우저에서 '/' 주소로 들어오면 (localhost:8080/ 같은 주소) home() 메서드를 실행해.
return "home";: templates 폴더 안의 home.html 파일을 찾아서 보여준다. (resources/templates/home.html)
- 거기서 "회원 가입"과 "회원 목록" 링크를 제공.
1-2. home.html 만들기
<!DOCTYPE HTML>
<html xmlns:th="<http://www.thymeleaf.org>">
<body>
<div class="container">
<div>
<h1>Hello Spring</h1>
<p>회원 기능</p>
<p>
<a href="/members/new">회원 가입</a>
<a href="/members">회원 목록</a>
</p>
</div>
</div>
</body>
</html>
✔️ 설명
<a href="/members/new">회원 가입</a>: "회원 가입" 버튼을 누르면 /members/new 주소로 이동해서 회원 가입 폼을 보여줄 거야.
<a href="/members">회원 목록</a>: "회원 목록" 버튼을 누르면 등록된 회원들을 리스트로 보여줄 거야.
📝 2. 회원 웹 기능 - 등록
2-1. MemberController 만들기
@Controller
public class MemberController {
private final MemberService memberService;
@Autowired -> 의존성 주입(DI)
public MemberController(MemberService memberService) {
this.memberService = memberService;
}
@GetMapping("/members/new") ->회원 가입 폼 요청
public String createForm() {
return "members/createMemberForm"; // 회원 가입 폼 보여주기
}
}
✔️ 설명
private final MemberService memberService;: 회원 등록, 조회 등 비즈니스 로직은 MemberService가 담당해.
@Autowired: 스프링이 자동으로 MemberService를 연결해 줘. (DI: 의존성 주입)