spring boot
스프링 프로젝트 생성시 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방식)
그냥 키: 벨류 로 이루어진 구조임
리스폰스 바디 사용 원리