내가 공부한 걸 내 언어로 정리를 해보려고 한다. 처음에는 어색해도 꾸준히 해보겠다.
스프링 공부를 다시 시작했다. 김영한님의 스프링입문 강의를 듣고 있다.
스프링은 자바의 프레임워크이다. 스프링부트를 통해 실행된다고 볼 수 있다.
스프링부트 프로젝트를 생성하는 사이트이다.
지금 공부할 때는 3.2.5버전으로 생성했다. 자바는 21을 썼다.
웹 개발의 기초라 함은 화면에 표시되는 것과 api로 나눠진다고 볼 수 있다.
1. 정적 컨턴츠
정적컨텐츠는 html을 바로 보여주는 것?이다. html을 찾아 화면에 표시해준다.
처리과정은
내장 톰켓 서버 -> resources:static/hello-static.html -> 웹브라우저
2. MVC와 템플릿 엔진
MVC: Model, View, Controller
thymeleaf을 사용했다.
@GetMapping을 통해 접근하고
@RequestParam과 model.addAttribute를 사용해
동적으로 template폴더 아래에 있는 html파일에 접근하고
url에도 hello-mvc?name=spring 처럼
mapping에서 정의한 name과 사용자가 입력하는 name을 통해
화면을 렌더링한다.
처리과정은
내장 톰켓 서버 -> helloController -> viewReolver -> HTML(변환 후) -> 웹 브라우저
3. API
서버와 서버가 통신할 때 주로 쓰인다.
@GetMapping을 통해 접근하고
@ResponseBody를 사용한다.
@ResponseBody를 사용하면 viewResolver를 사용하지 않는다. 대신에 HTTP의 Body에 문자 내용을 직접 반환한다.
객체를 반환하면 개체가 JSON을 변환된다.
기본 문자 처리 : StringHttpMessageConverter
기본 객체처리 : MappingJackson2HttpMessageConverter
처리과정은
내장 톰켓 서버 -> helloController(@ResponseBody) -> HttpMessageConverter -> JSON으로 반환
댓글