안녕하세요, 이번 글에서는 스프링 부트 프로젝트에서 회원가입 페이지와 DB 연동하는 법을 다룹니다.
스프링 부트 프로젝트에서 회원가입 페이지를 요청하는 법은 이전 글을 참고해 주세요.
이전 글: [Spring Boot] 스프링 부트로 회원 관리하기 (5) 회원가입 페이지 요청하기
[Spring Boot] 스프링 부트로 회원 관리하기 (5) 회원가입 페이지 요청하기
안녕하세요, 이번 글에서는 스프링 부트 프로젝트에서 회원가입 페이지를 요청하는 법을 다룹니다. 스프링 부트 프로젝트에서 기본 주소를 요청하는 법은 이전 글을 참고해 주세요. 이전 글:
mnoqc.tistory.com
1. service, repository, entity, dto 패키지 생성하기
src > main > java > com.mnoqc.member 폴더를 우클릭해 새로 만들기(New) > 패키지(Package) 를 눌러 줍니다.
TIP! Project 상단의 톱니바퀴 클릭 > 트리 모양(Tree Appearance) > 중간 패키지 압축(Comapact Middle Packages)
을 선택하면 패키지들이 위와 같이 접힙니다. 패키지 압축을 풀고 싶을 땐 선택을 해제해 줍니다.
위 구조와 같은 경로에 service, repository, entity, dto 패키지를 생성해 줍니다.
2. MemberService.java 파일 생성하기
위에서 만든 service 폴더를 우클릭해 새로 만들기(New) > Java 클래스(Java Class) 를 눌러 줍니다.
MemberService.java
package com.mnoqc.member.service;
import org.springframework.stereotype.Service;
@Service
public class MemberService {
}
3. MemberDTO.java 파일 생성하기
위와 같은 방법으로 MemberDTO Java 클래스 파일을 생성하고 작성해 줍니다.
DTO는 주로 데이터 전송과 데이터 변환의 목적으로 사용됩니다.
해당 DTO는 회원의 고유 식별자, 이메일, 비밀번호, 이름과 같은 필드를 포함하고 있습니다.
MemberDTO.Java
package com.mnoqc.member.dto;
import lombok.*;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString
// 회원 정보를 담는 DTO (Data Transfer Object) 클래스
public class MemberDTO {
private Long id; // 회원 고유 식별자
private String memberEmail; // 회원 이메일
private String memberPassword; // 회원 비밀번호
private String memberName; // 회원 이름
}
4. MemberController.java에 메서드 추가하기
기존 MemberController에 회원가입 폼에서 입력한 정보를 받아서 처리하는 메소드를 추가합니다.
사용자가 회원가입 폼을 작성하고 제출하면 POST 방식으로 "/member/save" URL에 요청을 보내고, 해당 메서드가 실행됩니다.
@ModelAttribute 어노테이션을 사용하여 요청 파라미터를 MemberDTO 객체에 바인딩하고, 이를 처리합니다.
MemberController.java (+)
/.../
// 회원가입 처리 메서드
@PostMapping("/member/save")
public String save(@ModelAttribute MemberDTO memberDTO) {
System.out.println("MemberController.save");
System.out.println("memberDTO = " + memberDTO);
return "index"; // 회원가입 후 기본 화면으로 이동
}
5. MemberApplication 실행 후 확인하기
MemberApplication을 실행한 후, 주소창에 localhost:(포트번호)/member/save를 입력해 줍니다.
이메일, 비밀번호, 이름 폼에 정보를 입력한 후 회원가입 버튼을 눌러 줍니다.
콘솔 창에 입력한 필드 값이 정상적으로 담겼는지 확인해 줍니다.
6. MemberController.java에 생성자 주입하기
Lombok의 @RequiredArgsConstructor 어노테이션을 이용하여 생성자를 자동으로 생성하고, 해당 생성자에 MemberService 객체를 주입하는 코드를 추가해 줍니다.
이 코드를 추가하면 MemberController 클래스가 MemberService 객체에 의존하게 됩니다.
즉, 의존성 주입을 통해 MemberController가 MemberService를 사용할 수 있게 만들어 줍니다.
MemberController.java (+)
/.../
@Controller
@RequiredArgsConstructor
public class MemberController {
// 생성자 주입
private final MemberService memberService;
/.../
@PostMapping 부분에도 코드를 추가해 줍니다.
해당 코드는 MemberService의 save 메서드를 호출하여 회원 정보를 저장합니다.
아직 해당 메서드를 만들지 않았기 때문에 경고 표시가 발생합니다.
클릭하여 save 메서드를 자동으로 생성해 줍니다.
이제 MemberService 클래스에 save 메소드가 생성되었습니다.
MemberController.java (++)
// 회원가입 처리 메서드
@PostMapping
/.../
memberService.save(memberDTO);
/.../
}
다음 글에서 이어집니다.
다음 글: [Spring Boot] 스프링 부트로 회원 관리하기 (7) 회원가입 DB 연동하기 2
[Spring Boot] 스프링 부트로 회원 관리하기 (7) 회원가입 DB 연동하기 2
안녕하세요, 이번 글에서도 스프링 부트 프로젝트에서 회원가입 페이지와 DB 연동하는 법을 다룹니다. 이전 글에서 이어지므로 링크를 참고해 주세요. 이전 글: [Spring Boot] 스프링 부트로 회원
mnoqc.tistory.com