728x90
라이브러리 살펴보기
Gradle은 의존관계가 있는 라이브러리를 함께 다운로드한다.
인텔리제이에서 Gradle 아이콘을 누르면 라이브러리를 확인할 수 있다.
스프링 부트 라이브러리 정리
- 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
테스트 라이브러리 정리
- spring-boot-starter-test
- junit: 테스트 프레임워크
- mockito: 목 라이브러리
- assertj: 테스트 코드 작성을 편하게 해 주는 라이브러리
- spring-test: 스프링과 통합하여 테스트할 수 있게 지원해 주는 라이브러리
View 환경설정
스프링부트는 WelcomePage를 제공한다.
static/index.html을 올려두면 Welcome Page를 적용할 수 있다.
또한 thymeleaf 엔진을 사용하고 있어,
controller를 이용해 값을 반환하고 사용하는 것이 가능하다.
java/hello/hellospring/controller/HelloController.java
package hello.hellospring.controller;
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";
}
}
resources/templates/hello.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>
위 두 가지 파일을 추가하고 다시 실행한 뒤 localhost:8080/hello에 접속해보면, 아래 화면이 뜬다.
원리는 아래와 같다.
컨트롤러에서 문자 값을 반환하면 viewResolver가 화면을 찾아 처리한다.
빌드하고 실행하기
주의: 스프링 프로젝트 종료 후 진행하기
터미널에서 프로젝트 위치로 이동하고, 아래 명령어를 실행한다.
./gradlew build
실행이 되면 build/libs로 이동한다.
cd build/libs
jar 파일이 만들어져 있는 것을 확인할 수 있다. (사진에서 맨 아래 파일)
이제 이 파일을 실행하면 된다.
java -jar hello-spring-0.0.1-SNAPSHOT.jar
웹 브라우저에서 확인해보자.
정상적으로 실행된다!
나중에 배포할 때, 이 jar 파일만 서버에 넣고 실행하면 된다.
728x90
'Spring > Study' 카테고리의 다른 글
[스프링 입문] 5. 회원 관리 예제 - 웹 MVC 개발 (0) | 2023.01.24 |
---|---|
[스프링 입문] 4. 스프링 빈과 의존관계 (0) | 2023.01.24 |
[스프링 입문] 3. 회원 관리 예제 - 백엔드 개발 (0) | 2023.01.22 |
[스프링 입문] 2. 스프링 웹 개발 기초 (1) | 2023.01.15 |
[스프링 입문] 1-0. 스프링 부트 프로젝트 생성 (1) | 2023.01.13 |