본문 바로가기

WEB/Spring14

[Spring] @RequestMapping HTTP Header 데이터 유형 / produces, consume 의미와 역할 [Spring] @RequsetMapping produces, consume 의미와 역할 @Mapping 어노테이션의 역할 Spring Boot 기반으로 웹 어플리케이션을 개발하게 되면 외부에서 들어오는 url을 처리할수 있도록 여러가지 Mapping 어노테이션을 사용하게 됩니다. 스프링 4.3 버전 이전에는 @RequestMapping만 있었지만 역할을 명시적으로 분리하기 위해 @GetMapping, @PostMapping, @DeleteMapping, @PostMapping, @PatchMapping 어노테이션들이 탄생했습니다. 컨트롤러에서 이런 Mapping 어노테이션들을 사용할때 파라미터로 value 값만 지정하여 url 경로에 대한 정의만 하는 경우도 있지만 컨트롤러를 통해 들어오거나 반환해줘야.. 2022. 7. 6.
[Spring] 스프링 빈 웹 스코프, request 타입과 프록시 모드 - 2/2 [Spring] 스프링 웹 스코프, request Scope 웹 스코프는 웹 환경에서 동작하는 스코프이며 프로토 타입과 다르게 스프링 컨테이너가 생성시점부터 종료시점까지 관리합니다. 웹 스코프의 종류 request : HTTP 요청이 들어와서 나갈때까지 유지되는 스코프, 각 클라이언트의 HTTP 요청마다 별도의 인스턴스 생성 session : HTTP Session과 동일한 생명주기를 가지는 스코프 application : 서블릿 컨텍스트(ServletContext)와 동일한 생명주기를 가지는 스코프 websocket : 웹 소켓과 동일한 생명주기를 가지는 스코프 서블릿 컨텍스트 (ServletConext) 하나의 서블릿이 서블릿 컨테이너와 통신하기 위해 사용되는 메서드들을 가지고 있는 클래스, 서블릿은.. 2022. 6. 19.
[Spring] 스프링 빈 스코프(Scope) 싱글톤, 프로토 타입 - 1/2 [Spring] 스프링 빈 스코프(Scope) 싱글톤, 프로토 타입 이전 포스팅에서 스프링 빈의 생명주기와 초기화, 소멸 콜백 메소드에 대해서 알아보았습니다. 스프링 빈은 기본적으로 스프링 컨테이너가 종료될때까지 유지되는데 스프링 빈의 기본 스코프타입이 싱글톤이기 때문입니다. 스코프(Scpoe)는 스프링 빈이 존재할수 있는 범위를 뜻합니다. 싱글톤 타입 : 스프링 컨테이너의 시작 ~ 종료시점까지 유지되는 기본적인 범위의 스코프 프로토 타입 : 스프링 빈의 생성과 의존관계 주입시점까지만 스프링 컨테이너에서 관리된다. 프로토 타입 스코프 프로토 타입 스코프는 다음과 같은 특징이 있습니다. 스프링 빈을 가져올때마다 싱글톤 타입 빈과 다르게 계속 생성되고 초기화 콜백 메서드도 매번 수행합니다. 스프링 컨테이너가.. 2022. 6. 19.
[Spring] 스프링 빈 생명주기 초기화, 소멸 콜백 관리하기 @PostConstruct, @PreDestroy [Spring] 스프링 빈 생명주기 콜백 스프링 프레임워크 기반의 애플리케이션에서는 데이터베이스를 사용하거나 TCP 소켓 연결을 할때 프로그램 시작시 미리 연결을 합니다. 그리고 프로그램이 종료될때 연결된 작업들을 모두 종료하는데 이번 포스팅에서는 스프링에서 이 연결과 종료 작업을 어떻게 수행하는지 대해서 알아보겠습니다. 테스트를 위해 TCP 소켓 연결 상황을 표현할 클래스와 테스트 메서드를 만들어보겠습니다. NetworkClient.java public class NetworkClient { private String url; public NetworkClient() { System.out.println("생성자 호출 url = " + url); connect(); call("초기화 연결 메시지"); .. 2022. 5. 26.
[Spring] 리액티브 스트림 Operator 의 개념과 예제 [Spring] 리액티브 스트림 Operations 지난번 포스팅에서는 Flow 라이브러리에 있는 Publisher, Subscriber를 사용했는데 이번엔 reactive-streams 라이브러리로 사용 해보겠습니다. 사용방법은 똑같지만 reactive-streams 는 모든 Java 버전에서 사용가능 하다는점이 다릅니다. 지난번과 동일하게 Publisher, Subscriber 를 작성해보겠습니다. PubSub.java package com.example.springreactivestudy.demo2; import lombok.extern.slf4j.Slf4j; import org.reactivestreams.Publisher; import org.reactivestreams.Subscriber; i.. 2022. 2. 25.
[Spring] 리액티브 스트림 기본 개념 (Publisher, Subscriber, Subscription) 스프링 리액티브 스트림(reactive-streams) 기초 Publisher & Subscriber Publisher 는 연속된 데이터들을 정보를 요청한 Subscriber 에게 제공합니다. 이때 Publisher가 Subscriber 에게 전달할때는 다음과 같은 프로토콜을 따릅니다. onSubscribe / onNext* / (onError | onComplete) onSubscribe는 항상 호출되고 onNext는 0번부터 n번까지 호출이 될수있습니다. onError, onComplete는 선택적으로 호출됩니다. Publisher & Subscriber 생성 public class PubSub { public static void main(String[] args) { Iterable iter = .. 2022. 2. 17.