안녕하세요 지금 국비교육 3개월차입니다.


교육생이 가장 많이 털려나간다는 스프링 MVC 모델 2 부분을 배우고 있는데요.


자바문법, SQL쿼리문만 떼고 MVC를 이해하려니까 쉽지가 않네요..


VO와 DTO가 있는것부터 없는것, 어떤 분이 한건 또 Repository가 있고 Form도 있구요.


MVC 패턴을 수도코드(한글)로 작성해서 공부하면 이해가 쉽지 않을까 싶어서 작성해보았는데요


제가 이해하고 있는 부분이 맞는지, 틀리다면 정정해주시길 간곡히 청해봅니다




------------------------------

개발환경 : 자바 스프링, jpa로 SQL쿼리문 자동작성 및 생성


목표 : 회원가입을 MVC로 표현


설명 : 회원가입 버튼은 임의로 빨간색 버튼이라고 가정,

버튼을 누르면 "/member" 링크로 이동 <a href="~/member">

members 페이지에서 form으로 account,password,email을 submit

submit한 내용 DB에 저장



---컨트롤러----

public class 빨간회원가입버튼 {


@GetMapping("/members")

public String 멤버스링크로이동하기 { return "templates/members.html }


@PostMapping("/members)

public String 회원가입양식전송하기(MemberDTO MemberDTO의이름) {

회원 신규회원 = new 회원();

신규회원.setId(memberDTO.getId());

신규회원.setaccount(memberDTO.getaccount());

신규회원.setpassword(memberDTO.setpassword());

신규회원.setemail(memberDTO.setemail());


멤버저장공간.저장하기(신규회원)     //멤버리포지터리


--------컨트롤러 끝-------


--------모델:회원 DTO----------


@getter @setter

public class 회원 {

@Id                                                                     //DB테이블에서  primary key로 잡힘

@Column(name="member_id"                                  //DB에 자동생성 및 저장될 컬럼이름 "member_id"

@GeneratedValue(strategy = GenerationType.AUTO)       //member_id값 자동생성

 private string id;


@Column

 private string account;

@Column

 private string password;

@Column

 private string email; }


-------모델:회원DTO 끝---------------


-------모델:회원저장공간(리포지터리?)------------

public interface 회원저장공간 extends JpaRepository<회원, Long> {

회원 저장하기(회원 member_id, account, password, email);   

//'회원의 정보를 저장한다'는 (행동)을 정의

-------모델:회원리포지터리 끝---------



-------모델:회원서비스----------------

public class 회원이할수있는것 {

private final 회원저장공간 회원저장공간의이름;


public 회원이할수있는것(회원저장공간 회원저장공간의이름) {

this.회원저장공간의이름 = 회원저장공간의이름

// ++여기서 말하는 공간의이름은  ++ 이거다(?)   



public Long 회원가입하기(신규회원 n번째회원)

회원저장공간.저장하기(n번째회원);


//여기서 무언가를 리턴해야되는 것 같은데 모르겠습니다

//회원의 정보로 무언가를 하고 싶다면 이곳과 Repository에 행동을 정의

//예를 들면 account를 조회하고 싶다면 Repository에 조회하기란 행동 정의 후

//회원이할수있는것 클래스(=Service)에도 추가하기? 


}

-------모델:회원서비스 끝-------------





국비충인 제 수준이 낮은거 알고 있습니다.


코딩에 대해 물어보는 것도 괴팍하게 물어보는구나 싶으시겠지만 


이 MVC를 못넘기면 나중에 프로젝트 만들기도 벅차다고 하여 꼭 이해하고 싶습니다 


바쁜데 시간내 읽어주셔서 감사합니다