스프링 부트(Spring Boot)는 자바 기반의 웹 애플리케이션을 개발하기 위한 프레임워크로서, 스프링(Spring) 프레임워크를 기반으로 하며 개발자들이 더 간편하게 웹 애플리케이션을 구축하고 실행할 수 있도록 도와줍니다. 스프링 부트는 웹 애플리케이션의 여러 측면을 다루는 다양한 기능과 클래스를 제공하는데, 그 중에서도 Model 클래스는 웹 애플리케이션의 뷰(View)와 컨트롤러(Controller) 사이에서 데이터를 전달하는 역할을 합니다.

Model은 스프링의 MVC 아키텍처(Model-View-Controller)에서 사용되는 개념 중 하나로, 다음과 같은 역할을 수행합니다:

  1. 데이터 전달: Model은 컨트롤러(Controller)에서 처리한 데이터를 뷰(View)로 전달하는 데 사용됩니다. 이는 클라이언트에게 보여질 데이터나 웹 페이지의 내용 등을 포함합니다.
  2. 데이터 저장: Model은 뷰에서 전달된 데이터를 임시로 저장하는 역할을 수행합니다. 이렇게 저장된 데이터는 뷰에서 필요한 경우에 사용될 수 있습니다.
  3. 뷰에 데이터 제공: 뷰는 Model에서 제공한 데이터를 사용하여 웹 페이지를 동적으로 구성하고, 사용자에게 적절한 정보를 보여줍니다.

스프링 부트에서 Model 객체는 주로 컨트롤러 메서드의 매개변수로 선언되며, 메서드 내에서 데이터를 담고 뷰로 전달하는 역할을 수행합니다. 일반적으로 Model은 키-값 쌍으로 데이터를 저장하며, 이 데이터는 뷰에서 해당 키를 사용하여 접근할 수 있습니다.

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

@Controller
public class MyController {
    @GetMapping("/hello")
    public String hello(Model model) {
        String message = "Hello, Spring Boot!";
        model.addAttribute("greeting", message); // 데이터를 Model에 추가
        
        return "helloPage"; // 뷰의 이름을 반환
    }
}
src/
└── main/
    ├── java/
    │   └── com/
    │       └── example/
    │           ├── MyApplication.java
    │           ├── MyController.java
    ├── resources/
    │   └── application.properties
    └── webapp/
        └── WEB-INF/
            └── views/
                └── helloPage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <title>Hello Page</title>
</head>
<body>
    <h1>${greeting}</h1>
</body>
</html>
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class MyController {
    @GetMapping("/hello")
    public String hello(Model model) {
        String message = "Hello, Spring Boot!";
        model.addAttribute("greeting", message);
        
        return "helloPage";
    }
}

application.properties

spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

 

SpringBoot 작성 순서.

  1. VO (Value Object) 작성:
    • 데이터를 저장하고 전달하기 위한 객체를 정의하는 클래스를 작성합니다.
    • 필요한 데이터 필드와 getter/setter 메서드를 포함하여 작성합니다.
    • 주로 데이터베이스의 테이블과 매핑될 수 있습니다.
  2. DAO (Data Access Object) 작성:
    • 데이터베이스와의 상호 작용을 처리하는 클래스를 작성합니다.
    • 데이터베이스에 데이터를 조회, 삽입, 갱신, 삭제하는 메서드를 작성합니다.
    • 주로 JPA, MyBatis 등의 ORM(Object-Relational Mapping) 기술을 사용하여 구현합니다.
  3. Service 클래스 작성:
    • 비즈니스 로직을 수행하는 서비스 클래스를 작성합니다.
    • DAO를 이용하여 데이터베이스와의 상호 작용을 호출하고, 비즈니스 로직을 구현합니다.
    • 트랜잭션 처리, 데이터 가공, 복잡한 비즈니스 규칙 등을 처리합니다.
  4. 컨트롤러(Controller) 클래스 작성:
    • 사용자의 요청을 처리하는 컨트롤러 클래스를 작성합니다.
    • @Controller 어노테이션을 추가하여 컨트롤러임을 명시합니다.
    • 각 요청에 대한 처리 메서드를 작성하고, Service 레이어를 호출하여 비즈니스 로직을 수행합니다.
    • 필요한 경우에는 모델(Model)을 생성하고 뷰 이름을 반환합니다.
  5. 뷰(View) 템플릿 작성:
    • 사용자에게 보여질 웹 페이지의 모습을 정의하는 뷰 템플릿을 작성합니다.
    • Thymeleaf, JSP, Freemarker 등을 사용하여 뷰 템플릿을 구현합니다.
  6. 스프링 설정 및 라우팅:
    • application.properties나 application.yml 파일을 통해 애플리케이션 설정을 구성합니다.
    • 컨트롤러의 요청 매핑과 뷰 리졸버 설정을 등록합니다.
  7. 실행 및 테스트:
    • 애플리케이션을 실행하여 웹 서버를 시작합니다.
    • 웹 브라우저나 API 클라이언트를 통해 컨트롤러가 응답하는지 테스트합니다.
     

 

pom.xml에 라이브러리 설정 필요한 것만 세팅이 안되어 있으면 오류.

web, test, db, jsp...

시험볼 때 tiles setting 가져오면 안됨. devProject: pom.xml, 내용은 spring쪽

가장기본적인것, control 단과 뷰단을 만들고 매핑해서 보이면 service, dao로 다음으로 xml 

control단, 뷰(.jsp)로 갈수 있는 메서드 하나(매핑)만 만들고 뷰단이 보이는지

패키지 잘못쓰면 삭제 후 다시 만들기

패키지 하위에 만들기

5번하기 전에 Mybatis 설정파일만 이름을 다줘서 세팅

config는 mybatis 설정파일

그다음 properties 수정

 

 

 

'spring, springboot' 카테고리의 다른 글

springBoot file  (0) 2023.09.05
스프링 부트 api  (0) 2023.09.04
springBoot project 새로만들기  (0) 2023.08.22
springBoot  (0) 2023.08.21
Array, ArrayList,sampleDTOList  (0) 2023.08.18

+ Recent posts