Gradle 전체 설정
build.gradle
plugins {
id 'org.springframework.boot' version '2.3.1.RELEASE'
id 'io.spring.dependency-management' version '1.0.9.RELEASE'
id 'java'
}
group = 'hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
test {
useJUnitPlatform()
}
* 동작 확인
- 기본 메인 클래스 실행
- 스프링 부트 메인 실행 후 에러페이지로 간단히 동작 확인 가능: https://localhost:8080
라이브러리 살펴보기
스프링 부트 라이브러리
| spring-boot- starter-web
- spring-boot-starter-tomcat: 톰캣 (웹서버)
- spring-webmvc: 스프링 웹 MVC
| spring-boot-starter-thymelaf: 타임리프 템플릿 엔진(View)
| spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅
- spring-boot
-- spring-core
- spring-boot-starter-logging
-- logback, slf4j
테스트 라이브러리
| spring-boot-starter-test
- juing: 테스트 프레임워크
- mockito: 목 라이브러리
- assertj: 테스트 코드 작성을 편하게 도와주는 라이브러리
- spring-test: 스프링 통합 테스트 지원
View 환경설정
static/index.html
: Welcome Page 만들기
<!DOCTYPE HTML>
<html>
<head>
<title>Hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
Hello
<a href="/hello">hello</a>
</body>
</html>
* 스프링 부트에서 제공하는 Welcome Page 기능 활용
thymeleaf 템플릿 엔진
| @Controller
public class HelloController {
@GetMapping("hello")
public String hello(Model model) {
model.addAttribute("data", "hello!");
return "hello";
}
}
| 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>
thymeleaf 템플릿엔진 동작 확인
컨트롤러에서 리턴 값으로 문자를 반환하면, 뷰 리졸버(viewResolver)가 화면을 찾아서 처리
- 스프링 부트 템플릿엔진 기본 viewName 매핑
- resources:templates/ + {ViewName} + .html
* spring-boot-devtools 라이브러리를 추가하면, html 파일 컴파일 후 서버 재시작 없이 View 파일 변경 가능
ex) 인텔리J: 메뉴 build → Recomplie
'백엔드 > 인프런_스프링' 카테고리의 다른 글
6. 스프링 DB 접근 기술 (0) | 2024.11.23 |
---|---|
5. 회원 관리 예제 - 웹 MVC 개발 (1) | 2024.11.16 |
4. 스프링 빈과 의존관계 (0) | 2024.11.16 |
3. 회원 관리 예제 - 백엔드 개발 (0) | 2024.11.16 |
2. 스프링 웹 개발 기초 (2) | 2024.11.09 |