20220626 TIL

기윤·2022년 6월 26일
0
post-custom-banner

스프링 부트에서는 MVC 패턴을 이용한다고 함.

MVC 패턴이란

M : Model - 데이터 변수 전달 담당
V : View - 보이는 부분, 즉 html 부분 담당하는 듯
C : Controller - 로직 부분을 담당한다고 하는데, Model 갖고오는 거랑 View 부분 갖고오는 것(이것도 하나의 로직) 이런 부분도 여기서 하는 듯함.

이런 식으로 각각의 담당을 나눠서 프로그램 만드는데
이게 MVC 패턴.


MVC 패턴 실제로 어캐 쓰는데

View (보이는 부분)

templates 폴더 안에 .mustache 확장자로 파일을 만들어서 html 코드를 넣으면 됨.


Controller (로직 담당)

컨트롤러라는 package를 만들어서 그 안에 자바 클래스로 만들면 됨.

package com.example.FirstProject.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller

public class FirstController {
    @GetMapping("/hi")
    public String welcomePlayer(Model model){
        model.addAttribute("username", "asdfㅁㄴㅇㄹ");
        return "welcome"; // templates\welcome.mustache 파일 => 브라우저로 전송!
    }

    @GetMapping("/bye")
    public String seeYouNext(Model model){
        model.addAttribute("nickname", "ㅁㄴㅇㄹ");
        return "goodbye";
    }
}

@Controller 부분이 여기가 컨트롤러임을 명시해주는 거고.
@GetMapping("/asdf") 부분은 localhost:8080/asdf 이렇게 웹페이지로 들어갈 때
아래 함수를 실행시킨다는 뜻으로 이해함.

컨트롤러 안에 Model이 포함되어있음. 피라미터에 Model 객체 넣고
model.addAttribute(변수이름, 변수내용) 이렇게 쓴거.


레이아웃 기능

함수처럼 코드를 압축시켜주는 기능임.

layouts 폴더에 갖다 박은 뒤

{{>layouts/header}}

    <div class="bg-dark text-white p-5">
        <h1>{{nickname}}님 ㅂㅇㅂㅇㅂㅇ</h1>
    </div>

{{>layouts/footer}}

이런 식으로 쓰면 댐.

profile
코딩 기록
post-custom-banner

0개의 댓글