섹션2. 프로젝트 환경설정
프로젝트 생성
사전 준비물 - java(17 이상), IDE(IntelliJ or Eclipse)
https://start.spring.io 로 이동해서 스프링 프로젝트 생성
→ 기본 메인 클래스 실행
→ 스프링 부트 메인 실행
→ https://localhost:8080로 동작 확인
* IntelliJ Settings에 Gradle에서 IntelliJ IDEA로 변경
라이브러리 살펴보기
▷ 스프링 부트 라이브러리
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')가 화면을 찾아서 처리
- 스프링 부트 템플릿엔진 기본 viewName 매핑
- resources:templates/` +{ViewName}+ `.html`
* spring-boot-devtools
라이브러리를 추가하면, html 파일을 컴파일만 해주면 서버 재시작 없이 View 파일 변경이 가능
빌드하고 실행하기
콘솔로 이동
1. ./gradlew build
2. cd build/libs
3. java -jar hello-spring-0.0.1-SNAPSHOT.jar
4. 실행 확인
섹션3. 스프링 웹 개발 기초
정적 컨텐츠
resource의 static에 hello-static.html 생성
MVC와 템플릿 엔진
MVC: Model, View, Controller
API
@ResponseBody 문자 반환
- @ResponseBody 를 사용하면 뷰 리졸버(viewResolver)를 사용하지 않음
- 대신에 HTTP의 BODY에 문자 내용을 직접 반환(HTML BODY TAG를 말하는 것이 아님)
@ResponseBody 객체 반환
- @ResponseBody 를 사용하고, 객체를 반환하면 객체가 JSON으로 변환됨
@ResponseBody 를 사용
- HTTP의 BODY에 문자 내용을 직접 반환
- viewResolver 대신에 HttpMessageConverter 가 동작
- 기본 문자처리: StringHttpMessageConverter
- 기본 객체처리: MappingJackson2HttpMessageConverter
- byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음
섹션4 회원 관리 예제 - 백엔드 개발
비즈니스 요구사항 정리
회원 도메인과 리포지토리 만들기
회원 리포지토리 테스트 케이스 작성
회원 서비스 개발
회원 서비스 테스트
'WINK-(Web & App) > Spring Boot 스터디' 카테고리의 다른 글
[2024-2 SpringBoot 스터디] 조상혁 #2주차 (3) | 2024.11.06 |
---|---|
[2024-2 SpringBoot 스터디] 정호용 #1주차 섹션 5~9 (2) | 2024.11.05 |
[2024-2 SpringBoot 스터디] 정호용 #1주차 섹션 1~4 (2) | 2024.10.10 |
[2024-2 Spring Boot 스터디] 류상우 #1주차 (0) | 2024.10.10 |
[2024-2 SpringBoot 스터디] 윤성욱 #1주차 (0) | 2024.10.10 |