개발/Spring Boot Framework 4

@Controller와 @RestController 차이점

🗣️ 간단하게 말하자면, @Controller는 view를 반환하고, @RestController는 Json 형식의 HTTP 응답을 직접 반환한다. 따라서 서버의 목적에 따라 골라서 사용하면 되겠다. @Controller는 웹서버에서 사용하기 적당해보이고, @RestController는 API 서버에서 사용하기 적당해보인다. ❓웹서버랑 API 서버의 차이는? 웹서버는 jsp등의 브라우저가 읽을 페이지를 반환하는 서버이고, API 서버는 웹서버가 따로 있는 경우, 혹은 Server to Server로 통신하는 경우 json등의 포맷으로 값을 전달하는 서버이다. 📄@Controller의 Document를 확인하면 아래와 같다. Indicates that an annotated class is a "Contr..

웹 애플리케이션 컨테이너

출처 : 윤석진, 『스프링 부트로 배우는 자바 웹 개발』, Jpub 웹 애플리케이션 컨테이너(Web Application Container)란? 웹 애플리케이션이 배포되는 공간. 웹 서버 vs 웹 애플리케이션 서버 웹 서버 : HTML과 같은 정적 파일을 전달해주는 역할을 하는 서버 웹 애플리케이션 서버(WAS) : PHP, JSP와 같은 동적인 페이지들을 생성 가능한 서버 (자바 계열에서는 웹 애플리케이션 컨테이너) 그럼 WAS가 어떻게 웹 애플리케이션을 인식하고 동작시킬까? 클래스 로더(class loader) "Write one, run anywhere" 이 실행할 수 있게 한 기술이 바로 클래스 로더이다. 자바 코드를 컴파일하면 해당 코드는 JVM에서 실행 가능한 상태가 된다. 이때 JVM이 클래..

Spring, Spring Boot란?

출처 : 윤석진, 『스프링 부트로 배우는 자바 웹 개발』, Jpub Spring Framework란? 1. 스프링 프레임워크를 사용하기 전, EJB(Enterprise JavaBean)을 사용했는데 테스트하기 어렵고 무거워서 '로드 존슨'이 만든 프레임워크 2. 전자정부 프레임워크에서도 기반 기술로 채택되었다. Spring boot Framework란? 1. 스프링 프레임워크가 시간이 지난 후 무겁고 설정할 것이 많아져 이런 문제를 해결하기 위해 나온 것인 스프링 부트이다. 2. 설정 자동화(AutoConfigure)를 이용해서 스프링 MVC 모듈의 DispatcherServlet설정, JDBC DataSource 설정 등 웹 개발 시 필요한 인프라성 코드들을 제공해주어서 복잡한 XML설정 없이 개발을 ..