본문 바로가기

WINK-(Web & App)/Spring Boot 스터디

[2024-2 Spring Boot 스터디] 백채린 #1주차

반응형

섹션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

 

 

MVC, 템플릿 엔진 이미지

 

 

API

 

@ResponseBody 문자 반환

- @ResponseBody  사용하면 리졸버(viewResolver) 사용하지 않음

- 대신에 HTTP BODY 문자 내용을 직접 반환(HTML BODY TAG 말하는 것이 아님)

 

@ResponseBody 객체 반환

@ResponseBody  사용하고, 객체를 반환하면 객체가 JSON으로 변환됨

 

@ResponseBody 사용 원리

@ResponseBody  사용

- HTTP BODY 문자 내용을 직접 반환

- viewResolver 대신에 HttpMessageConverter  동작

- 기본 문자처리: StringHttpMessageConverter

- 기본 객체처리: MappingJackson2HttpMessageConverter

- byte 처리 등등 기타 여러 HttpMessageConverter 기본으로 등록되어 있음

 

 

 


 

섹션4 회원 관리 예제 - 백엔드 개발

 

 

비즈니스 요구사항 정리

 

 

회원 도메인과 리포지토리 만들기

 

 

회원 리포지토리 테스트 케이스 작성

 

 

회원 서비스 개발

 

 

회원 서비스 테스트
반응형