프로젝트 생성
- 위 사이트에서 원하는 프로젝트 버전들을 선택하고 프로젝트 생성.
- 우측에 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
테스트 라이브러리
- spring-boot-starter-test
- junit: 테스트 프레임워크
- mockito:목 라이브러리
- assertj:테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리
- spring-test : 스프링 통합 테스트 지원
프로젝트 생성시 스프링부트에서 원하는 기능을 추가 시 dependency 문제를 해결해준다.
View 환경설정
초기페이지 만들기
Spring boots는 static/index.html을 추가하면 초기 페이지로 설정 가능하다.
템플릿 엔진으로는 Thymeleaf 사용
→ 초기 페이지를 만들기 위해서는 static에 index.html파일을 생성해주면 정적페이지가 생성된다.
간단한 페이지 만들기
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~로 변경시켜 반환시킨다.
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파일을 반환시켜주는 페이지를 만들 수 있다.
동작환경
- Application을 실행시키면 spring boots의 내장 톰겟 서버에서 웹페이지를 띄워준다.
- 웹브라우저에서 localhost:8080/hello라는 요청이 있을 시 스프링 컨테이너는 주소에 대한 controller가 있는지 확인 한후 매칭되는 메소드를 통해 View페이지를 반환시켜준다.
- 이때 메소드에서 모델에 관한 변경사항이 있으면 Thymeleaf 템플릿 엔진이 처리되어 알맞게 변환되어 표시된다.
빌드하고 실행하기
- 콘솔로 이동한 후 spring boots의 파일로 이동한다.
- ./gradlew build → 빌드 시킨다.
- cd build/libs → 빌드 후 파일이 생김
- java -jar {이름}-spring-0.0.10SNAPSHOT.jar → java 파일 실행
위와 같이 실행하면 프레임워크를 사용하지 않고 실행할 수 있다.
단 프레임워크에서 웹페이지가 실행되고 있다면 반드시 종료한 후 실행시켜야한다.
위 방법으로 실행되지 않을 때는
./gradlew clean build →를 통해 빌드를 다시한 후 실행한다.