스프링 프레임워크를 사용하면서 궁금했던 점 알아보기.
1) 스프링 프레임워크와 스프링 부트의 차이점은?
- Dependency 설정
스프링 프레임워크는 build.gradle을 통하여 Dependency를 추가해주면 자동으로 추가하고 관리 할 수 있음. 또한, 기본 라이브러리를 통하여 쉽게 Test가 가능하다.
- Configuration
appication.properties와 application.yml을 통하여 외부 모듈 및 db 연동이 쉬움
- 배포
Tomcat 같은 내장 WAS를 가지고 있어 jar파일로 간편하게 배포가 가능하다.
2) 웹 호출이 스프링 프레임워크의 COntroller까지 어떻게 전달?
1) 정적컨텐츠
파일명 URL 방식으로 웹 HTML형식으로 전달한다.
내장 톰캣서버 -> 스프링부트 -> 컨트롤러에서 url(hello-static)을 확인한다. -> 매핑 정보 없으면 내부 static폴더안에 있는 hello-static을 반환한다.
2) MVC(Model-View-Controller)
내장 톰캣 서버 -> helloController에서 Hello-template을 반환 -> View Resover에서 해당 view를 찾아서 templates엔진과 연결 -> Hello-template.html을 찾아서 톰캣서버에 전달한다. -> 템플릿 엔진이 html으로 변환하여 웹 브라우저로 넘긴다. -> @RequestParam형식으로 반환
3) API 방식
@ResonposeBody : http에서 body에 데이터를 API형식(json)으로 반환
내장 톰캣 서버 -> 스프링부트 -> helloContoller -> @Responsebody확인하여 json 형식으로 http로 넘겨준다 -> httpMessageConverter가 문자와 객체인지 확인(기존 mvc viewResolver는 동작하지 않는다.) -> 웹브라우저로 API 형식으로 변환하여 전달한다.
코멘토 링크 : https://comento.kr/
'코멘토 - JAVA & SPRING 클린아키텍처' 카테고리의 다른 글
코멘토 실무PT 후기 챌린지 4주차 - UnitTest (0) | 2023.05.28 |
---|---|
코멘토 실무PT 후기 챌린지 3주차 - ORM/JPA와 트랜잭션 (0) | 2023.05.28 |
코멘토 실무PT 후기 챌린지 1주차 - 스프링 프레임워크(AOP) (0) | 2023.05.27 |
코멘토 실무PT 후기 챌린지 1주차 - 스프링 프레임워크(DI와 IoC) (1) | 2023.05.27 |