1. 프로젝트 생성
스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성
- https://start.spring.io
- 프로젝트 / Metadata / Dependencies 설정
- 프로젝트 선택
- Project: Gradle Project
- Spring Boot: SNAPSHOT(미정식 버전) 제외하고 최신버전 선택
- Language: Java
- Packaging: Jar
- Java: 8 또는 11
- Project Metadata
- group: bellpro (서비스주소)
- artifact: jonguk (프로젝트명)
- Dependencies
- build.gradle 에서 Dependencies 생성 확인 (추가 가능)
- 동작 확인: http://localhost:8080
- IntelliJ Gradle 대신에 자바 직접 실행: 실행속도 더 빠름
- 설정 -> keymap -> 검색을 통해 단축키 확인 가능
2. 스프링 부트 라이브러리
spring-boot-starter-web
- spring-boot-starter-tomcat: 톰캣 (웹서버)
- spring-webmvc: 스프링 웹 MVC
spring-boot-starter-thymeleaf
타임리프 템플릿 엔진(View)
spring-boot-starter(공통)
스프링 부트 + 스프링 코어 + 로깅
- spring-boot
- spring-boot-starter-logging
- 실무에서 println 안쓰고 로깅 사용
- logback
- slf4j
spring-boot-starter-test
테스트 라이브러리
- junit: 테스트 프레임워크
- mockito: 목 라이브러리
- assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
- spring-test: 스프링 통합 테스트 지원
3. Welcome Page 만들기
스프링 부트가 제공하는 Welcome Page 기능
- static/index.html 을 올려두면 Welcome page 기능을 제공
스프링 부트 thymeleaf 템플릿 엔진
- controller/HelloController
@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>
3. 컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버( viewResolver )가 화면을 찾아서 처리한다.
- 스프링 부트 템플릿엔진 기본 viewName 매핑
- resources:templates/ +{ViewName}+ .html
빌드하고 실행하기
콘솔로 이동
1. ./gradlew build
2. cd build/libs
3. java -jar hello-spring-0.0.1-SNAPSHOT.jar
4. 실행확인