-
[개인공부] 1/23Spring-Boot 2022. 1. 26. 19:57
김영한씨 유투브
spring-boot는 syso를 쓰지 않고 log를 쓴다
logging -> logback + slf4l : 어떤 구현체로 출력할것인지
라이브러리 살펴보기
Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 한다
스프링부트라이브러리
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 환경설정
static : 정적페이지
스프링 웹 개발 기초
@RequestParam(value=“name”, required= false) default는 true
API 형식
@ResponseBody : http에서 body부에 직접 넣어주겠다 -> 요청한 클라이언트에 그대로 내려감
(=html태그가 하나도 없음)
객체를 json방식으로 전송해줌
@ResponseBody를 사용하면 뷰 리졸버(‘viewResolver’)를 사용하지않음
대신에 HTTP의 BODY에 문자 내용을 직접 반환
HTTP의 BODY에 문자 내용을 직접반환
viewResolver 대신에 HttpMessageConverter가 동작
기본 문자처리 : StringHttpMessageConverter
기본 객체처리 : MappingJackson2HttpMessageConverter
byte처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록 되어 있음
참고 : 클라이언트의 HTTP Accept 헤더와 서버의 컨트롤러 반환 타입 정보 둘을 조합해서 HttpMessageConverter가 선택된다.
일반적인 웹 어플리케이션 계층 구조
컨트롤러 : 웹 MVC의 컨트롤러 역할
서비스 : 핵심 비즈니스 로직 구현
리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리
도메인 : 비즈니스 도메인 객체 ex) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨
클래스 의존 관계
아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계
데이터 저상소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정
개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리가반의 데이터 저장소 사용
//9강까지
'Spring-Boot' 카테고리의 다른 글
[개인공부] 1/26 (0) 2022.01.26 [개인공부] 1/18 (0) 2022.01.19