클라이언트 > 서버 로 통신하는 메시지: 요청(request) 메시지서버 > 클라이언트 로 통신하는 메시지: 응답(response) 메시지웹에서 화면전환(새로고침) 없이 이루어지는 동작들은 대부분 비동기 통신으로 이루어진다.비동기 통신을 위해서는 클라이언트 > 서버로
핸들러 매핑을 통해 요청 URL에 매핑된 핸들러(컨트롤러)를 조회한다.핸들러를 실행할 수 있는 핸들러 어댑터를 조회한다.핸들러 어댑터를 실행한다.핸들러 어댑터가 실제 핸들러를 실행한다.핸들러 어댑터는 핸들러가 반환하는 정보를 ModelAndView로 변환해서 반환한다.
HTTP 요청 메시지를 통해 클라이언트에서 서버로 데이터를 전달하는 방법을 알아보자./url?username=hello&age=20메시지 바디 없이, URL의 쿼리 파라미터에 데이터를 포함해서 전달웹 브라우저가 요청 HTTP 메시지를 생성한다.Content-Type은
WAS는 정적 or 동적인 HTML 파일 생성해서 웹 브라우저에게 전달ex) 동적인 경우 주문 정보 조회해서 출력HTML이 아니라 데이터를 전달주문 정보 조회해서 JSON 형식 등의 데이터로 전달HTML 렌더링할 때 사용하는 것이 아니라, 다음과 같은 통신에서 데이터를
서블릿은 초록색 box를 제외한 모든 일을 지원HTTP 요청 정보 편리하게 사용: HttpServletRequestHTTP 응답 정보 편리하게 제공: HttpServletResponse서블릿 객체를 직접 생성 x. 코드만 만들면 됨WAS 안에는 서블릿 컨테이너가 있다.
웹은 HTTP 기반클라이언트 <-> 서버 시 HTTP를 기반으로 동작HTTP 메시지에 모든 것을 전송 (HTML, IMAGE, API 등등)HTTP 기반으로 동작정적 리소스 제공정적(파일) HTML, CSS, JS, 이미지, 영상 등ex) NGINX, APACHE
콜백어떤 이벤트가 발생했거나 특정 시점에 도달했을 때 시스템에서 호출하는 함수Bean 생명주기Bean 객체가 생성되어 소멸되기 전까지의 모든 과정스프링은 의존관계 주입이 완료되면 스프링빈에게 콜백 메서드를 통해서 초기화 시점을 알려주는 다양한 기능을 제공스프링은 스프링
생성자를 통해서 의존 관계를 주입하는 방법생성자 호출 시점에 딱 한 번만 호출되는 것이 보장된다.불편, 필수 의존관계에 사용setter를 통해서 의존관계를 주입하는 방법선택, 변경 가능성이 있는 의존관계에 사용필드에 바로 주입외부에서 변경이 불가능하기에 테스트가 힘들다
@ComponentScan 지금까지 자바 코드의 @Bean이나 XML의 등을 통해 설정 정보에 Spring Bean을 등록했다. -> 반복 및 누락 이슈 Spring은 설정 정보가 없어도 @ComponentScan을 통해 자동으로 Spring Bean을 등록한다. 의
지금까지 스프링 없이 구현한 순수한 DI 컨테이너인 AppConfig는 요청할 때마다 객체를 새로 생성한다.메모리 낭비가 심함객체를 1개만 생성하고, 공유하도록 설계하면 된다.Class의 instance가 딱 1개만 생성되는 것을 보장하는 디자인 패턴싱글톤 패턴 문제점
ApplicationContext를 Spring Container라고 한다.ApplicationContext는 Interface이다.기존에는 개발자가 AppConfig를 사용해서 직접 객체 생성 및 DI\--> Spring Container를 통해서 진행Spring C
Annotation이란? Annotation의 사전적 의미는 주석이다. 자바에서 Annotation(@)는 코드 사이에 주석처럼 달아 특별한 기능을 수행하도록 하는 기술이다. 장점 코드량 감소 | 유지보수 용이 | 생산성 증가 사용 순서 Annotation을 정의한
좋은 객체 지향 설계의 5가지 원칙Single Responsibiity Principle한 클래스는 하나의 책임만 가져야 한다.변경이 있을 때 파급 효과가 적으면 SRP를 잘 따른 것Open/Closed Principle소프트웨어 요소는 확장에는 열려 있으나 변경에는
자바 언어 기반의 프레임워크자바 언어의 가장 큰 특징은 객체 지향 언어Spring은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크유연하고 변경이 용이하다example자동차가 바뀌어도 운전자 역할은 변함 없다.운전자는 자동차 역할에 대해서 알고 있음.
Spring IoC 컨테이너가 관리하는 자바 객체를 Bean이라고 한다.직접 new를 이용하여 생성한 객체가 아니라, Spring에 의하여 생성되고 관리되는 객체이다.ApplicationContext.getBean()과 같은 메소드를 사용하여 Spring에서 직접 자바
Spring MVC Architecture(1) 웹 브라우저로부터 Request가 들어오면 DispatcherServlet 클래스의 객체가 요청을 받는다.요청을 한 곳에서 받아서 처리하고, 요청에 맞는 handler로 요청을 Dispatch하고, 해당 handler의
Spring이란? 흔히 Spring이라고 부르지만 "Spring Framework"라고 하는 것이 정확한 표현 JAVA 기반의 오픈소스 애플리케이션 프레임워크이다. 동적인 웹 사이트 개발을 위한 여러 가지 서비스를 제공한다.