섹션1. 프로젝트 환경설정

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 v2021-03-03.pdf

사용환경 만들기

JDE 11사용. 오라클꺼는 m1에서는 로제타 돌려야해서 zulu사용.

./zhrc..... 뭐였더라... 랑 ./bash_profile 모두 변환 해줘야함.

내가 했었던 건지 전혀 기억이 안나지만 일단 zulu jdk8이 깔려 있어서 아마 깔았나보다 하고 11로 다시 깔기만 함.

java —version 으로 확인.

프로젝트 생성

스프링 부트 스타터

https://start.spring.io

예전에는 maven project 많이 사용. 요즘은 gradle project

스프링부트 버전은 뒤에 괄호 없는 애들중에 가장 최신으로. 지금 기준 2.5.2....인데 내가 2.4.8사용함.

메타데이타 = 필요한 정보 모아둠

그룹: 보통 회사나,, 서버명 사용

자바는 11 사용.

디펜던시: 가장 중요한 부분. spring web, thymeleaf 사용

실행시 톰캣 사용,

localhost:8080

라이브러리 살펴보기

gradle은 의존성이 있는 모든 라이브러리를 다운한다.

왼쪽 아래 누르면 가장자리 프레임 껐다 켰다 가능...

우측 gradle 누르면 디펜던시가 어떻게 연결되어있는지 확인 가능

  • spring-boot-starter-web
    • spring-boot-starter-tomcat: 톰캣 (웹서버)
    • spring-webmvc: 스프링 웹 mvc
  • spring-boot-starter-thymeleaf : 타임리프 템플렛 엔진
  • spring-boot-starter: 공통. 스프링부트, 스프링 코어, 로깅

테스트 라이브러리

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

View 환경설정

welcome page 만들기

index.html을 만들면 기본적으로 얘기 웰컴페이지로 설정된다.

main/resouces/static/index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Hello</title>
</head>
<body>
    Hello
    <a href="/hello">hello</a>
</body>
</html>

필요하는 거 찾는 방법

spring.io → projects → 맞는 버전 → ctrl+f로 원하는 것 찾기 ...
main/java/hello.hellospring/HelloController

package hello.hellospring;

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

@Controller
public class HelloController {

    @GetMapping("hello")
    public String hello(Model model){
//        키랑 벨류
        model.addAttribute("data", "hello");
        return  "**hello**"; // cmd + click하면 Hello.html로 넘어감. 기본루트가 resource/templates 안에서 찾게 되어있음. 
    }
}

main/resources/templates/hello.html

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Hello</title>
</head>
<body>
<p th:text="안녕하세요.  + ${data}" >안녕하세요 소님</p>
</body>
</html>


controller파일에서 retun hello부분을 커멘드 누르고 클릭하면 hello.html 파일로 이동.

빌드하고 실행하기

인텔리 제이 내부에서 실행한 것 말고 실행 파일 만들기

폴더 내부에서

./gradlew build
cd build/libs
java -jar hello-spring-0.0.1-SNAPSHOT.jar

실행확인

좋은 웹페이지 즐겨찾기