본문 바로가기

JAVA/Spring Framework

(14)
spring에서의 servlet https://sh970901.tistory.com/111 서블릿(Servlet) VS 스프링(Spring)처음 웹 서버는 정적인 요청에 대한 응답만 가능했다. 동적인 페이지를 만들기 위해 프로그램을 붙였고 대표적인 것이 서블릿이다. 초기에는 CGI 구현체를 활용했지만 요청마다 새로운 프로세스sh970901.tistory.com
Spring Security CORS CORS란 “Cross-Origin Resource Sharing”의 약자입니다. CORS는 프로토콜인데, 서로 다른 origin일 시 리소스와 상호 작용하기 위해 클라이언트인 브라우저에서 실행되는 스크립트입니다. 예를 들어 UI 앱에서 서로 다른 도메인인 API를 호출할 시 CORS로 인해 기본적으로 차단됩니다. 이는 대부분의 브라우저에서 구현되는 W3C의 스펙입니다.따라서 CORS는 보안이나 공격과 같은 문제가 아니라 서로 다른 Orgin 간의 데이터 및 통신을 할 때 브라우저에서 이를 중지하기 위해 제공하는 기본 보호 기능입니다.예를 들어 큰 규모의 IT 기업일 경우 백엔드 서버와 프론트엔드 서버의 IP가 서로 다릅니다. 이때 프론트엔드 서버에서 클라이언트가 로그인을 했을 때, 백엔드의 로그인 AP..
spring reactive https://ooeunz.tistory.com/150 [Spring] Reactive programing: WebFlux, WebClient 이전 포스팅에서 비동기 처리를 하게 될 경우 non blocking 하게 servlet thread를 사용하는 방법에 대해서 살펴보았습니다. 하지만 여전히 문제가 남아있는 부분이 존재합니다. 바로 비동기 처리를 하 ooeunz.tistory.com
자바 비동기 CompletableFuture https://brunch.co.kr/@springboot/267 CompletableFuture 자바 비동기 프로그래밍을 위한 CompletableFuture 검토 | 필자는 최근에 CompletableFuture 를 사용해서 개발을 진행하였는데, CompletableFuture는 작년에 한번 사용한 이후로는 실무에서 사용할 일이 거의 brunch.co.kr
ioc, di https://wbluke.tistory.com/9 IoC랑 DI가 그래서 도대체 뭔가요? IoC? DI? Spring 프레임워크를 직접적으로 사용하지 않더라도, 개발을 하다보면 IoC(Inversion of Control), 혹은 DI(Dependency Injection)라는 용어에 대해서 듣게 되는 경우가 많습니다. Spring에서만 사용하는.. wbluke.tistory.com https://leveloper.tistory.com/33 [스프링] IoC(Inversion of Control), DI(Dependency Injection), Spring Container, Bean 정리 의존성 역전(Inversion of Control) IoC란 Inversion of Control의 약어로, 객체..
Controller restcontrollor https://mangkyu.tistory.com/m/49
Spring에서 싱글톤을 사용하는 이유 [ Spring에서 싱글톤을 사용하는 이유 ] 애플리케이션 컨텍스트에 의해 등록된 빈은 기본적으로 싱글톤으로 관리된다. 즉, 스프링에 여러 번 빈을 요청하더라도 매번 동일한 객체를 돌려준다는 것이다. 애플리케이션 컨텍스트가 싱글톤으로 빈을 관리하는 이유는 대규모 트래픽을 처리할 수 있도록 하기 위함이다. 스프링은 최초에 설계될 때 부터 대규모의 엔터프라이즈 환경에서 요청을 처리할 수 있도록 고안되었다. 그리고 그에 따라 계층적으로 처리 구조(Controller, Service, Repository 등) 가 나뉘어지게 되었다. 그런데 매번 클라이언트에서 요청이 올 때마다 각 로직을 처리하는 빈을 새로 만들어서 사용한다고 생각해보자. 요청 1번에 5개의 객체가 만들어진다고 하고, 1초에 500번 요청이 온다..
handlerAdapter - DispatcherServlet DispatcherServlet은 HandlerMapping이 찾아 준 컨트롤러 객체를 처리할 수 있는 HandlerAdapter 빈에게 요청 처리를 위임한다.(3) HandlerAdapter는 @Controller, Controller 인터페이스, HttpRequestHandler 인터페이스를 동일한 방식으로 처리하기 위해 사용된다. HandlerAdapter는 컨트롤러의 알맞은 메서드를 호출해서 요청을 처리하고(4, 5) 그 결과를 DispatcherServlet에 리턴한다.(6) 이때, HandlerAdapter는 컨트롤러의 처리 결과를 ModelAndView라는 객체로 변환해서 DispatcherServlet에 리턴한다.