본문 바로가기

WINK-(Web & App)/Spring Boot 스터디

[2025 1학기 스프링부트 스터디] 오세웅 #1주차

반응형

환경 설정

https://start.spring.io/ 여기 접속하면 이렇게 뜹니다.

설정은 다음과 같이 해주시고 java17 이상이 필요합니다.

java23으로 하려고 했는데 안되서 그냥 java17로 다시 깔아서 해줬습니다.

 

자바 실행했을 때 이렇게 뜨면 실행된겁니다.

 

http://localhost:8080/ 로 접속했을 때 이렇게 뜨면 성공입니다.

 

라이브러리

 

라이브러리를 설명해주는데 Gradle, 의존성이 뭔지 몰라서 GPT한테 물어봤습니다.

이해가 쏙쏙 되죠?

 

보니까 의존성을 하나 가져오면 의존성의 의존성의 의존성의 ~~~~ 까지 가져오더라고요.

그러니까 GPT가 해준 비유로 치면 요리에 필요한 재료가 사실은 이미 조리가 된 재료라서

재료의 재료를 가져오는 겁니다.

 

스프링 부트 라이브러리

spring-boot-starter-web spring-boot-starter-tomcat: 톰캣 (웹서버)

spring-webmvc: 스프링 웹

MVC spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진

(View) spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅

spring-boot

spring-core

spring-boot-starter-logging

logback, slf4j

 

테스트 라이브러리

spring-boot-starter-test junit: 테스트 프레임워크

mockito: 목 라이브러리

assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리

spring-test: 스프링 통합 테스트 지원

 

이 정도가 많이 쓰는 라이브러리인데 지금은 하나도 모르겠으니 그냥 보기만 하겠습니다.

 

view 환경 설정

컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버( viewResolver )가 화면을 찾아서 처리를 한다는데

resources:templates/ +{ViewName}+ .html

이런 식으로 찾아서 열리게 되는거라고 합니다.

 

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

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

@Controller
public class HelloControler {

    @GetMapping("hello")
    public String hello(Model model){
        model.addAttribute("data", "hello!!");
        return "hello";
    }
}

 

실행 화면

실행해보니 잘 되네요 :)

반응형