전체 글

CS

[CS] Spring DTO

DTO(Data Transfer Object)란?프로세스 간에 데이터를 전달하는 객체데이터를 전송하기 위해 사용하는 객체라서 그 안에 비즈니스 로직 같은 복잡한 코드는 없고 순수하게 전달하고 싶은 데이터만 담겨있음주로 클라이언트와 서버가 데이터를 주고받을 때 사용 그럼 왜 사용하느냐!사용 이유View Layer와 DB Layer의 역할을 분리하기 위해서-> 객체를 표현하기 위한 계층과 저장하는 계층의 역할을 분리하기 위해서 DTO를 사용한다.Entity 객체의 변경을 피하기 위하여-> Entity 객체를 그대로 사용하면 프로그래머의 의도와 다르게 데이터가 변질될 수 있다. View와 통신하는 DTO 클래스는 자주 변경된다-> View(클라이언트)와 통신하는 DTO 클래스, 예를 들어 ResponseDT..

CS

[CS] Spring Dispatcher-Servlet

Dispatcher-Servlet란?HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러과거와 비교과거에는 모든 서블릿을 URL 매핑을 위해 web.xml에 모두 등록해주어야 했지만, dispatcher-servlet이 해당 어플리케이션으로 들어오는 모든 요청을 핸들링해주고 공통 작업을 처리면서 상당히 편리하게 이용할 수 있게 되었습니다. 우리는 컨트롤러를 구현해두기만 하면 디스패처 서블릿가 알아서 적합한 컨트롤러로 위임을 해주는 구조가 되었습니다.정적 자원 처리1. 정적 자원 요청과 애플리케이션 요청을 분리/apps 의 URL로 접근하면 Dispatcher Servlet이 담당한다./resources 의 URL로 접근하면 Dispatcher Servlet..

CS

[CS] Spring MVC

Spring MVC란?웹 계층에 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 처리하는 모듈이 있는데 이를 스프링 웹 MVC(spring-web-mvc) 또는 스프링 MVC라고 한다.Spring MVC는 클라이언트의 요청을 편리하게 해주는 기능을 제공동작 방식과 구성 요소DispatcherServletDispatcherServlet은 HttpServlet을 상속받아 사용하고, 서블릿으로 동작한다. [CS] Spring Dispatcher-ServletDispatcher-Servlet란?HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러과거와 비교과거에는 모든 서블릿을 URL 매핑을 위해 web.xml에 모두 등록해no-delay.tistor..

CS

[CS] Spring Framework

Spring Framework란?자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크경량급과거 EJB가 느리고 무거운 자바 서버(WAS)에서만 동작한 반면, 스프링은 WAS로부터 독립적인 개발 환경을 구축할 수 있습니다. 가장 단순한 서버환경인 톰캣(Tomcat)이나 제티(Jetty) 위에서도 완벽하게 동작애플리케이션 프레임워크특정 계층이나, 기술, 업무 분야에 국한되지 않고 애츨리케이션의 전 영역을 포괄하는 범용적인 프레임워크 IoC(제어의 역행)코드의 최종 호출을 개발자가 결정하는 것이 아니라 스프링 프레임워크 내부에서 이루어지는 것스프링은 이미 구조가 설계되어 있어, 스프링을 사용하는 개발자는 부품을 만들어 조립하는 형태로 개발합니다. 이는 객체의 의존성을 역전시켜 객체 간..

CS

[CS] Spring 빈 스코프(Bean Scope)

빈 스코프란?스코프는 빈이 존재할 수 있는 범위를 뜻함종류ScopeDescriptionsingleton(기본값) 스프링 IoC 컨테이너 당 하나의 인스턴스만 사용앱이 구동되는 동안 하나만 사용prototype매번 새로운 빈을 정의해서 사용request(Web)HTTP 라이프사이클마다 한 개의 빈을 사용(웹 요청이 들어오고 나갈 때까지)Web-Aware ApplicationContext에서만 사용 가능session(Web)HTTP 세션마다 하나의 빈을 사용(웹 세션이 생성되고 종료될 때까지)Web-Aware ApplicationContext에서만 사용 가능application(Web)ServeltContext 라이프사이클 동안 한 개의 빈만 사용Web-Aware ApplicationContext에서만 사용..

CS

[CS] Spring PSA

PSA(Portable Service Abstraction)란?환경의 변화와 관계없이 일관된 방식의 기술로의 접근 환경을 제공하는 추상화 구조(하나의 추상화로 여러 서비스를 묶어둔 것)특정 클래스가 추상화된 상위 클래스를 일관되게 바라보며 하위 클래스의 기능을 사용하는 것이 PSA의 기본 개념PSA가 적용된 코드는 개발자의 기존에 작성된 코드를 수정하지 않으면서 확장할 수 있으며, 어느 특정 기술에 특화되어 있지 않음 -> 확장성 높음왜 사용하나요?어떤 서비스를 이용하기 위한 접근 방식을 일관된 방식으로 유지하여애플리케이션에서 사용하는 기술이 변경되더라도 최소한의 변경만으로 변경된 요구 사항을 반영하기 위해 사용 => PSA를 통해서 애플리케이션의 요구 사항 변경에 유연하게 대처 가능 Spring은 상황..

CS

[CS] Spring Interceptor

Interceptor란?org.springframework.web.servlet의 HandlerInterceptor 인터페이스로, 스프링 MVC에서 웹 애플리케이션 내에 특정한 uri 호출을 가로채는 역할을 함특징Dispatcher Servlet이 Controller를 호출하기 전 / 후에 인터셉터가 끼어들어 요청과 응답을 참조하거나 가공할 수 있는 기능을 제공Request, Response 조작 불가능스프링 컨텍스트에서 동작처리 과정디스패처 서블릿이 핸들러 매핑을 통해 컨트롤러를 찾도록 요청하는데, 그 결과로 실행 체인(HandlerExecutionChain)을 돌려줌여기서 1개 이상의 인터셉터가 등록되어 있다면 순차적으로 인터셉터들을 거쳐 컨트롤러가 실행되도록 하고,인터셉터가 없다면 바로 컨트롤러를 ..

CS

[CS] Spring Filter

Spring Filter란?javax.servlet.Filter는 Java Servlet API의 일부로, 요청과 응답을 거른뒤 정제하는 역할특징DispatcherServlet에 요청이 전달되기 전 / 후에 url 패턴에 맞는 모든 요청에 대해 부가 작업을 처리할 수 있는 기능 제공Request, Response 조작 가능 (필터 체이닝에서 request, response를 넘겨줄 수 있어서)FilterChain(필터 체인)을 통해 여러 필터가 연쇄적으로 동작 가능웹 컨테이너(서블릿 컨테이너)에서 동작언제 사용되나요?주로 요청에 대한 인증, 권한 체크 등에 사용됨들어온 요청이 DispatcherServlet에 전달되기 전에 헤더를 검사해 인증 토큰이 있는지 없는지, 올바른지 올바르지 않은지 등을 검사구현..

delayU
No_Delay_Dev;