본문 바로가기

프레임워크12

Spring Interceptor 스프링에서 Interceptor는 말 대로 가로채는 역할을 한다. Interceptor 요청(Requests)을 처리하는 과정에서 요청을 가로채서 원하는 동작을 추가하는 역할을 한다. 접근 제어(Auth), 로그(Log) 등 비즈니스 로직과 구분되는 반복적이고 부수적인 로직을 처리한다. 이러한 인터셉터를 활용하면 기존의 컨트롤러 로직을 고치지 않고도 제어가 가능하다. 이를 구현하기 위해서는 스프링에서 제공하는 HandlerInterceptor 구현하거나 HandlerInterceptorAdapter를 상속할 수 있다. 스프링이 제공하는 HandlerInterceptor 인터페이스와 Adapter 추상 클래스에 정의되어 있는 메서드는 다음과 같다. - preHandle() Controller(핸들러) 실행.. 2023. 4. 21.
Spring Web MVC(Model View Controller) Spring Web MVC는 Spring에서 제공하는 웹 프레임워크로, Servlet API를 기반으로 구축되었다. 정식 명칭은 Spring Web MVC지만, Spring MVC로 많이들 부른다. 이는 DI(의존성 주입), AOP(관점 지향 프로그래밍)과 더불어 WEB 개발을 위한 기능을 제공한다. DispatcherServlet(FrontController)를 중심으로 디자인 되었고, View Resolver, Handler Mapping, Controller와 같은 객체와 함께 요청을 처리하도록 구성되어 있다. DispatcherServlet은 Spring MVC Framework의 Front Controller로, 웹 요청과 응답의 Life Cycle을 주관한다. HandlerMapping은 요청.. 2023. 4. 20.
MVC(Model, View, Controller) MVC(모델-뷰-컨트롤러)는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다. 모델은 데이터와 비즈니스 로직을 관리하고, 뷰는 레이아웃과 화면을 처리한다. 컨트롤러는 명령을 모델과 뷰 부분으로 라우팅한다. 즉 사용자가 컨트롤러를 조작하면 컨트롤러는 모델을 통해 데이터를 가져오고, 해당 데이터를 바탕으로 뷰를 통해 시각적 표현을 처리하고 이를 사용자에게 제공한다. MVC 패턴은 비즈니스 로직과 UI로직을 분리하여 유지 보수를 독립적으로 수행 가능케하고, 모델과 뷰가 다른 컴포넌트에 종속되지 않아 변경에 유리하다. 이런 관심사 분리는 개발자들에게 효율적인 업무와 관리 환경을 제공하게 된다. 모델은 앱이 포함해야할 데이터가 무엇인지 정의한다. 모델의 상태가 변화할.. 2023. 4. 20.
Spring applicationContext class path resuource 에러 Spring을 사용할 때, 분명히 resources 폴더를 생성하고 applicationContext.xml 파일을 작성하고 위와 같이 연결해 주었지만 아래와 같은 에러가 날 때가 있다. 분명히 프로젝트 폴더 안에 생성했는데 왜 이런 오류가 날까? 그 이유는 해당 프로젝트 파일에서 Build Path에 새로 생성된 resources 폴더를 Source로 잡아두지 않았기 때문이다. 다음과 같이 진행하면 class path 오류가 나지 않을 것이다. 해당 프로젝트 우 클릭 > Properties build path 검색 후 Source 탭 클릭 우측 Add Folder 선택 후 resources 파일 선택 선택이 안되어 있을 경우에 class path 에러가 날 수 있다. 선택을 하고 적용을 하면! 잘 돌아.. 2023. 4. 13.