Spring

spring boot

팅탱팅탱 2024. 3. 1. 18:13

스프링 프로젝트 생성시 3.2.3 , 자바 17이상, 디펜던시는 web으로 할거기에 spring web, 템플릿 엔진은 thymeleaf

 

스프링 부트 라이브러리

 

spring-boot-starter-web에는 

spring-boot-starter-tomcat: 톰캣 (웹서버)

spring-webmvc: 스프링 웹 mvc가 들어가있음

 

spring-boot-starter-thymeleaf : 타임리프 템플릿 엔진

spring-boot-starter: 스프링부트 + 스프링 코어 + 로깅이 다 땡겨져옴

 

테스트 라이브러리

spring-boot-starter-test

요즘은 junit5를 많이씀

 

스프링 부트 동작 환경

 

이게 hellocontroller인데 여기서 return hello를 하게되면

여기 resources밑에 템플릿에서 저 hello라는 것을 찾아서 렌더링을 하게됨

컨트롤러에서 리턴값으로 문자열을 전달하면 viewresolver가 화면을 찾아서 처리해줌

 

그럼 이제 전에 만들어놨던 hello.html을 보게되면

이렇게 되어있는데 

저기서 data라는 것은 전에 있던 hellocontroller에 있는 model의 키값이라 저기서 데이터를 받아와서 아까 봤던 hello!!가 출력됨.

 

그리고 폴더중에 static이라는 정적 파일이있는데 이 하위 파일로 index.html이나 이런것들은 경로가 

localhost:8080/index.html이런식으로 들어가면 저 파일안에있는 html이 나오게됨.

 

api

 

api방식은 mvc방식이랑 다르게 데이터를 그대로 내려주는 방식임

 

이렇게 보면 스프링에서 서버를 키고 로컬로 들어가서 hello-mvc라는 url로 들어가게되면 밑에 return hello-template에 따라서 리소스에서 저 html파일을 따라가서 거기서 주어진 data를 html과 같이 화면에 띄우는것이라면

밑에있는 api 방식은 그냥 그딴거 필요없고 데이터를 바로 표출해줌

아마 클라이언트 측에서 이런식으로 api에서 데이터를 요청해서 받아서 데이터를 받아오는듯,,, 확실한건 잘 모름

 

이런 api방식으로 하고 해당 주소로 들어가게된다면

평소에 클라이언트측에서 데이터를 받는 정보가 오게된다!!(json방식)

그냥 키: 벨류 로 이루어진 구조임

 

리스폰스 바디 사용 원리