일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 자바의 면접
- 포워드 프록시
- 싱글톤 패턴
- 옵저버 패턴
- 기본형 매개변수
- 스프링 싱글톤
- 스프링 빈
- 참조형 반환타입
- 참조형 매개변수
- 팩토리 패턴
- 백준 1935
- 스프링 컨테이너
- k번째큰수
- @Tranctional
- 팩토리패턴
- www.naver.com치면 발생하는일
- 스프링
- 후위표기식
- 쇠막대기
- 전략 패턴
- Class Loader
- try-catch
- removeAll
- 리버스 프록시
- 백준 2164
- 네트워크
- 빈 타입 조회
- TCP/IP 4계층
- mvvm패턴
- SOLID원칙
- Today
- Total
목록Spring (17)
스파이더 웹 개발

스프링MVC 프레임워크 동작 방식 https://spiderwebs.co.kr/SpringBasicProject/survey 위의 그림은 스프링 MVC 핵심 구성 요소와 각 요소간의 관계를 나타내는 이미지이다. 해당 이미지를 참조하면서 알아보자 DispatcherServlet은 모든 연결을 담당한다 웹 브라우저로부터 요청이 들어오면 DispatcherServlet은 요청을 처리하기 위해 HandlerMapping에게 빈 객체 컨트롤러 검색을 요청한다 HandlerMapping은 클라이언트의 요청 경로를 이용해서 컨트롤러 중에서 이를 처리할 컨트롤러 빈 객체를 DispatcherServlet에게 리턴한다 이후 DispatcherServlet은 HandlerAdapter 에게 요청 처리를 위임하고 Handl..

지금까지 수동으로 스프링 빈을 등록하는 방법과 의존 주입(자동의존주입)에 대해 알아보았다. 이번에는 자동 스프링 빈 등록과 컴포넌트 스캔에 공부해보자 컴포넌트 스캔의 기본원리는 @Component 어노테이션이 붙은 클래스를 스프링 빈으로 등록한다. 아마 가장 쉬운 빈 등록 방법이지 않을까 생각한다. 참고로 @Controller, @Service, @Repository 어노테이션들의 경우 모두 @Component 어노테이션을 포함하고 있다. @Component 어노테이션이 붙은 클래스는 스프링 컨테이너안에 클래스의 이름 중 맨 앞글자가 소문자로 바뀌어 빈의 이름으로 등록된다 사용방법은 아래와 같다 @Component public class MemberDao { ..코드 구현 } 스프링 컨테이너에 해당형식으..
스프링의 핵심 기능은 객체를 생성하고 초기화 하는 것이다 별도의 설정이 없는경우 스프링은 한개의 빈 객체만을 생성하며 이때 빈 객체는 '싱글톤 범위를 갖는다' 고 표현한다 스프링은 기본적으로 한개의 @Bean 어노테이션에 대해 한 개의 빈 객체를 생성한다 그러므로 아래 코드는 다른 각각의 객체를 생성한다 @Bean public Test test1() { Test t = new Test(); return t; } @Bean public Test test2() { Test t = new Test(); return t; } DI DI는 의존주입을 의미하며, 의존이란 객체 간의 의존을 의미한다. 자세히 풀어서 설명하면 한 클래스가 다른 클래스의 메서드를 실행할 때 이를 이를 '의존' 한다고 표현한다 아래 간단한..

협상(컨텐츠 네고시에이션) 클라이언트가 선호하는 표현 요청 Accept : 클라이어트가 선호하는 미디어 타입 전달 Accept-Charaset : 클라이언트가 선호하는 문자 인코딩 Accept-Encoding : 클라이언트가 선호하는 압축 인코딩 Accept-Language : 클라이언트가 선호하는 자연 언어 위의 그림에서 보면 알수 있듯이 Accept-Language 적용 전에는 서버에 기본언어인 영어를 제공하고 Accept-Language적용 후에는 클라이언트가 한국어 요청을해서 한국어로 응답받는것을 알 수 있다. 그렇다면 서버에 한국어가없고 다른언어가 있다면 어떻게해야할까? 그러한 경우 우선순위를 적용하면된다 예를들어 한국어요청을하고, 없다면 그다음 우선순위가 높은 영어 이런식으로 요청메시지를 작성..

상태 코드란? 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx : 요청이 처리되어 수신중 2xx : 요청 정상 처리 3xx: 요청을 완료하려면 추가 행동이 필요 4xx: 클라이언트 오류 5xx: 서버 오류 2xx (Success) 클라이언트의 요청을 성공 200 OK 요청 성공 201 Created 요청 성공해서 새로운 리소스가 생성됨 202 Accepted 요청이 접수되었으나 처리가 완료되지 않음 204 No Content 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음 3xx (Redirection) 요청을 완료하기 위해 유저의 추가 조치가 필요 리다이렉션이란? 웹 브라우저는 3xx 응답의 결과에 Location 헤더가 있으면 Location 위치로 ..
HTTP 메서드 종류 GET : 리소스 조회 POST : 요청 데이터 처리, 등록에 사용 PUT : 리소를 대체, 해당 리소스가 없으면 생성 PATCH : 리소스 부분 변경 DELETE : 리소스 삭제 GET 리소스 조회 서버에 전달하고 싶은 데이터는 쿼리를 통해서 전달 POST 요청 데이터 처리 메시지 바디를 통해 서버로 요청 데이터 전달 PUT 리소스를 완전히 대체 한다(리소스가 없으면 생성) ex) 예를들어 기존의 리소스안에 나이, 이름이 있는경우 PUT 이름만 서버로 전송하면 나이는 삭제되고 PUT으로 이름으로 완전히 대체가된다 PATCH 리소스 부분 변경 위의 예제와 동일한 상황에서 리소스안에 이름, 나이가 있는경우 PATCH로 이름만 변경하여 서버로 전송하면 나이는 남아있고 변경된 이름으로 대..