Home (SpringBoot)1.프로젝트 환경설정_김영한 스프링부트 기초 강의
Post
Cancel

(SpringBoot)1.프로젝트 환경설정_김영한 스프링부트 기초 강의

프로젝트 생성

스프링부트 프로젝트 생성 링크

  • 위 사이트에서 원하는 프로젝트 버전들을 선택하고 프로젝트 생성.

Untitled

  • 우측에 Dependencies라는 것은 원하는 기능들을 추가하는 것인데 Spring Web, Template Engines과 같은 기능들을 추가할 수 있다.
  • 위 사이트에서 원하는 버전과 기능들을 쉽게 환경설정할 수 있는 것이 스프링부트의 장점이다.

라이브러리 살펴보기

스프링부트 라이브러리

  • spring-boot-starter-web
    • springboot-starter-tomact : 톰캣(웹서버)
    • spring-webmvc: 스프링 웹 MVC
  • spring-boot-starter-thymeleaf:타임리프 템플릿 엔진(View)
  • spring-boot-starter(공통) : 스프링 부트 + 스프링 코어 + 로깅
    • spring-boot
      • spring-core
    • spring-boot-starter-logging

      로그의 중요성(sl4f, Logback)

      → 심각한 에러를 잡고 기록들을 추적하기 위해서는 로그에 기록하는 것이 좋음.

테스트 라이브러리

  • spring-boot-starter-test
    • junit: 테스트 프레임워크
    • mockito:목 라이브러리
    • assertj:테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
    • spring-test : 스프링 통합 테스트 지원

프로젝트 생성시 스프링부트에서 원하는 기능을 추가 시 dependency 문제를 해결해준다.


View 환경설정

초기페이지 만들기

Spring boots는 static/index.html을 추가하면 초기 페이지로 설정 가능하다.

템플릿 엔진으로는 Thymeleaf 사용

→ 초기 페이지를 만들기 위해서는 static에 index.html파일을 생성해주면 정적페이지가 생성된다.

간단한 페이지 만들기

  1. Controller 생성

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
     package com.example.test.controller;
        
     import org.springframework.stereotype.Controller;
     import org.springframework.web.bind.annotation.GetMapping;
     import org.springframework.ui.Model;
        
     @Controller
     public class HelloController {
        
         //Get method Annotation
         //주소 값에 hello라는 Get요청이 들어오면 hello.html페이지를 보여준다.
         @GetMapping("hello")
         public String hello(Model model){
             model.addAttribute("data","hello~");
             return "hello";
         }
     }
    

    hello라는 요청이 들어오면 return 값에 있는 hello.html파일을 반환시킨다.

    이때 hello.html에 data의 이름을 가지고 있는 모델이 있을 시 hello~로 변경시켜 반환시킨다.

  2. hello.html 생성

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
     <!DOCTYPE html>
     <html xmlns:th="http://www.thymeleaf.org">
     <head>
         <meta charset="UTF-8">
         <title>Hello</title>
     </head>
     <body>
     <p th:text="'안녕하세요, ' + ${data}">안녕하세요. 손님</p>
     </body>
     </html>
    

    위 html파일은 Thymeleaf 템플릿 엔진이 추가된 것이다.

    ${data}는 모델이름을 설정한 것이다.

Controller와 매칭되는 html파일을 생성하면 localhost8080/hello라는 요청을 보냈을 시 hello.html파일을 반환시켜주는 페이지를 만들 수 있다.

동작환경

Untitled 1

  1. Application을 실행시키면 spring boots의 내장 톰겟 서버에서 웹페이지를 띄워준다.
  2. 웹브라우저에서 localhost:8080/hello라는 요청이 있을 시 스프링 컨테이너는 주소에 대한 controller가 있는지 확인 한후 매칭되는 메소드를 통해 View페이지를 반환시켜준다.
  3. 이때 메소드에서 모델에 관한 변경사항이 있으면 Thymeleaf 템플릿 엔진이 처리되어 알맞게 변환되어 표시된다.

빌드하고 실행하기

  1. 콘솔로 이동한 후 spring boots의 파일로 이동한다.
  2. ./gradlew build → 빌드 시킨다.
  3. cd build/libs → 빌드 후 파일이 생김
  4. java -jar {이름}-spring-0.0.10SNAPSHOT.jar → java 파일 실행

위와 같이 실행하면 프레임워크를 사용하지 않고 실행할 수 있다.

단 프레임워크에서 웹페이지가 실행되고 있다면 반드시 종료한 후 실행시켜야한다.

위 방법으로 실행되지 않을 때는

./gradlew clean build →를 통해 빌드를 다시한 후 실행한다.

This post is licensed under CC BY 4.0 by the author.

(ChatGPT) ChatGPT의 학습 방법과 기본원리

(SpringBoot)2.웹 개발 기초_김영한 스프링부트 기초 강의