Skip to content

스프링 기본편 Section 1,2

SH-Seol edited this page May 6, 2024 · 1 revision

프로젝트 생성은 start.spring.io에서 함

Maven, Gradle은 필요한 라이브러리를 불러오고 빌드하는 life cycle관리 도구 → Gradle많이 씀

thymeleaf: 템플릿 엔진

spring 에서는 welcome page를 제공함

static에서는 정적페이지

웹서버가 그대로 웹 브라우저를 넘겨주는 것

@GetMapping(”ex1”)를 하면 /ex1에 들어가면 화면에 나오게 해줌

@GetMapping("hello")public String hello(Model model){ model.addAttribute("data", "spring!"); return "hello";}

이러면 hello.html에서 ${data}에 “data”가 spring!으로 치환됨.

spring!은 db에서 조회해서 넣을 수 있음(변환할 수 있다는 의미)

return에 있는 것은 templates 폴더 밑에 있는 hello.html를 찾아서 렌더링 (viewResolver가 화면을 찾아서 처리)

Untitled

파일에 대한 요청이 들어오면controller가 우선순위를 갖기에 controller에서 먼저 찾음 관련 mapping이 된 컨트롤러가 없으면 그 뒤에 내부 리소스에서 찾아봄

controller는 @Controller로 표기

비즈니스 로직을 처리함.

RequestParam에 required = false설정 안 할 경우 반드시 넣어야함

template engine을 쓰면 원하는 것(루프 등)을 추가할 수 있음

화면을 html에 넘겨주는 방식, 그리고 API로 데이터를 바로 내리냐

API에서는

@ResponsBody 가 들어감

Body에 내용을 직접 넣어주겠다는 의미

이 경우 ~~~?parameter=___ 이렇게 들어감

⇒ viewResolver사용하지 않음, HttpMessageConverter를 사용

객체 반환 시 JSON형태로 반환

Untitled

  • 정적 컨텐츠

파일을 그대로 웹브라우저로 전달해주는 것

  • MVC와 템플릿 엔진

html을 서버에서 프로그래밍을 통해 바꿔서 보여주는 것이 템플릿 엔진, 그걸 위해 Model View Controller

  • API

json의 형태로 데이터를 전달하는 방식, 서버끼리 통신할 때도 api방식을 사용한다고 함