코멘토 - JAVA & SPRING 클린아키텍처

코멘토 실무PT 후기 챌린지 1주차 - 스프링 프레임워크

간다12 2023. 5. 27. 14:26

스프링 프레임워크를 사용하면서 궁금했던 점 알아보기.

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) 

MVC 방식(동적 컨텐츠)

내장 톰캣 서버 -> helloController에서 Hello-template을 반환 -> View Resover에서 해당 view를 찾아서 templates엔진과 연결 -> Hello-template.html을 찾아서 톰캣서버에 전달한다. -> 템플릿 엔진이 html으로 변환하여 웹 브라우저로 넘긴다. -> @RequestParam형식으로 반환

 

3) API 방식

API 방식(동적 컨텐츠)

@ResonposeBody : http에서 body에 데이터를  API형식(json)으로 반환

내장 톰캣 서버 -> 스프링부트 -> helloContoller -> @Responsebody확인하여 json 형식으로 http로 넘겨준다 -> httpMessageConverter가 문자와 객체인지 확인(기존 mvc viewResolver는 동작하지 않는다.) -> 웹브라우저로 API 형식으로 변환하여 전달한다.

 

코멘토 링크 : https://comento.kr/

반응형