본문 바로가기

Java.Web/Spring4

[Spring] 007 : 인터셉터(Interceptor) 인터셉터 인터셉터(Interceptor) - 요청(request)를 처리하는 과정에서 요청을 가로채서 처리하는 bean 객체 - 비즈니스 로직과 구분되는, 반복적이고 부수적인 로직 처리 - HadlerInterceptor interface 주요 메서드 boolean preHandle() Handler 실행 이전에 호출, false 반환시 요청 종료 접근 제어(Auth) 등에 사용 void postHandle() Handler 실행 이후에 View 응답 전에 호출, Handler에서 예외 발생 시 실행되지 않음 정상 실행 후 추가 기능 구현시 사용 void afterCompletion View가 클라이언트에 응답한 뒤 실행되며, Handler에서 예외 발생시 네번째 parameter로 전달(기본 null).. 2023. 4. 17.
[Spring] 005 : Spring Web MVC Spring Web MVC MVC Pattern - 애플리케이션을 Model, View, Controller 3개의 구성요소로 나누는 디자인 패턴의 일종 Spring Web MVC - Servlet API를 기반으로 구축되었으며, MVC Pattern을 따르는 웹 프레임워크 - Spring이 제공하는 DI, AOP 뿐 아니라 WEB 개발을 위한 기능을 제공 - Front Controller Pattern을 따르고 있음 ◆ Front - Controller - Pattern Spring MVC 구성요소 1. Front Controller : 모든 요청을 먼저 처리하고, 각 구성체와 연결되어 응답해주는 대표 컨트롤러 DispatcherServlet 2. Model & View 관련 : 데이터 집합체인 Mod.. 2023. 4. 13.
[Spring] 003 : 의존성 주입(DI) Java DI 의존성 (dependency) public class Programmer{ private Desktop com1; private Computer com2; public Programmer(){ com1 = new Desktop(); //Desktop 구현클래스에 의존함 : 강한 결합 com2 = new Desktop(); //Computer 인터페이스에 의존함 : 약한 결합 } public void coding(){ // Computer 의 메서드를 사용 System.out.println(com2.getInfo() + "으로 코딩 중입니다."); } } - 연관된 객체(클래스)의 변경에 의해 자신 또한 영향을 받는 성질 - Programmer 객체는 Desktop 객체가 있어야 작동할 수 .. 2023. 4. 12.
[Spring] 002 : 제어 역전(IoC) Spring IoC Container 제어 역전(IoC ; Inversion of Control) Don't call us, we will call you. - Hollywood Principle - 애플리케이션의 제어권이 개발자에서 외부(프레임워크)로 위임되는 현상 전통적인 프로그래밍은 개발자의 소스 코드에서 외부 라이브러리를 호출하여 객체의 생애 주기를 관리 Spring은 프레임워크(컨테이너)가 개발자의 소스코드를 호출하여 객체의 생애 주기를 관리 ◆ 객체의 생애 주기(life-cycle) 객체의 생성, 초기화, 변경, 메소드 호출, 삭제 등 생성부터 소멸까지 일어나는 일련의 과정을 의미한다. 객체지향 프로그래밍(OPP)은 객체들의 상호 관계로 이루어지므로, 객체의 생애 주기를 관리하는 주체가 결국 .. 2023. 4. 11.