본문 바로가기

🌱JAVA/🌟 Spring MVC 패턴

MVC 흐름 정리

# MVC 패턴 흐름정리

- 차근차근

1번 : 입력값이다. PostMapping으로 입력되는 입력값이다.

2번 : 입력값을 Dto 타입으로 변환환다.

Dto 타입은 아래와 같다.

@Data
public class UserDto {
    private String email;
    private String name;
    private String pwd;
    private String userId;
    private Date createAtl;

    private String encryptedPwd;
}

3번 : 변환된 Dto 타입의 값을 인풋파라미터로 userService.createUser 인터페이스로 전송한다.

4번 : UserService 인터페이스에서 UserServiceImpl을 호출한다.

5번 : 인풋 파라미터로 받아온 userDto 값을 mapper를 이용해 UserEntity 타입으로 변환한다.

6-7 번 : UserEntity 타입으로 변환된 값을 userRepository에서 .save(userEntity)를 이용해 저장한다.

Entity 타입은 아래와 같다.

@Data
@Entity
@Table(name = "users")
public class UserEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(nullable = false, length = 50, unique = true)
    private String email;
    @Column(nullable = false, length = 50)
    private String name;
    @Column(nullable = false, unique = true)
    private String userId;
    @Column(nullable = false, unique = true)
    private String encryptedPwd;
    
}

8번 : UserDto returnUserDto = mapper.map(userEntity, UserDto.class); userEntity를 UserDto.class로 변환하여 returnUserDto 값으로 호출한 컨트롤러로 값을 반환한다.

3번 : 다시 3번으로 돌아가서 만약 리턴값이 returnUserDto 가 아닌 null이라면 3번 변수인 return_value_test값에는 null값이 변수에 담기게 된다.

9번 : userDto 값을 ResponseUser.class 타입으로 변환하여 responseUser라는 변수에 담는다.

ResponseUser 타입은 아래와 같다.

@Data
public class ResponseUser {
    private String email;
    private String name;
    private String userId;
}

10번 : responseUser 를 파라미터로 받아서 결과값을 반환한다. 반환하면 아래와 같은 결과값을 볼 수 있다.