Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 해줌
스프링부트 라이브러리
spring-boot-starter-web
- spring-boot-starter-tomcat:톰캣(웹서버)
-spring-webmvc: 스프링 웹 MVC
spring-boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅
spring-boot
-spring-core
spring-boot-starter-logging
-logback, slf4j
로그 관련
logback, log4j 검색해보기
테스트라이브러리
spring-boot-starter-test
jnuit: 테스트 프레임워크
mockito: 목 라이브러리
assertj: 테스트 코드를 좀 더 편하게 작성하게 돕는 라이브러리
spring-test 스프링 통합 테스트 지원
인텔리제이사용하지 않고 직접 빌드하기
빌드 안되는 경우, 클린 빌드하고 다시 빌드하기
./gradlew clean build
웹개발 크게 3가지
1. 정적 컨텐츠: 파일 그대로 내려주는 것
스프링은 정적 컨텐츠를 기본으로 제공함
스프링부트는 매핑되는 컨트롤러가 없다면 해당 정적 컨텐츠를 연결해줌
2. MVC와 템플릿 엔진: 템플릿 엔진(jsp, php) / html을 동적으로 바꿔서 내려주는 것
예전 코드의 형태는 java 코드랑 html 코드랑 같이 섞어서 사용했음 뷰에 모든 코드가 들어가 있는 형태(jsp생각하면됨)
지금은 모델과 뷰를 분리해서 구현함
매핑되는 컨트롤러가 있는 경우 컨트롤러는 뷰리졸버에게 보내고 뷰리졸버는 뷰를 찾고 템플릿 엔진에게 연결 시켜줌
그리고 html 변환 후 반환해줌
3. API: json이라는 데이터 포맷으로 내려주는 것
@ResponseBody
http 바디부에 내용을 직접 넣어주기 위해 사용하는 애너테이션
기본적으로 http 요청이 오면 뷰리졸버가 동작하는데 @ResponseBody가 있으면 HttpMessageConverter가 동작함
기본 문자 처리는 StringHttpMessageConverter가, 기본 객체 처리는 MappingJackson2HttpMessageConver가 동작, byte처리 등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음
cf. 객체를 Json형식으로 바꿔주는 대표적인 라이브러리 두가지 Jackson 과gson이 있는데 스프링은 기본적으로 Jackson을 선택함
json형식으로 반환하기
'오늘의 공부 & 기록' 카테고리의 다른 글
스프링부트 강의 기록 (0) | 2023.01.29 |
---|---|
스프링 강의와 HashMap, 스트림 복습 (1) | 2023.01.29 |
H2 DB와 인텔리제이(IntelliJ) 연동으로 더 간편하게 DB사용하기 (0) | 2022.12.23 |
RuntimeException 런타임 예외 종류 (0) | 2022.11.29 |
빌더패턴(Builder Pattern)과 @Builder (0) | 2022.11.26 |