spring boot 6

[Spring Boot] 6. Interceptor

Spring Interceptor란?Spring Interceptor는 Spring 프레임워크에서 제공하는 기능 중 하나로, 클라이언트의 요청을 가로채서 처리하는 역할을 한다. 이를 통해 공통적인 로직(로깅, 성능 측정, 캐싱)을 처리하거나, 보안(인증, 권한) 등의 목적으로 특정 조건을 검사하고 해당 요청을 처리하거나 무시할 수 있다. Dispathcer Servlet이 핸들러 매핑을 통해 controller을 찾도록 요청하는데, 그 결과로 실행 체인(HandlerExecutionChain)을 돌려준다. 여기서 1개 이상의 interceptor가 등록되어 있다면 순차적으로 intercept들을 거쳐 controller가 실행되도록 하고, interceptor가 없다면 바로 controller를 실행한다..

[Spring Boot] 4. View Resolver

핸들러 메소드가 요청을 처리하고 논리 뷰 이름을 반환하면DispatcherServlet은 화면에서 데이터를 표시하도록 뷰 템플릿에 제어권을 넘긴다. 스프링 MVC에서는 뷰를 해석할 수 있는 ViewResolver 구현체 몇 가지가 있는데,그 중 MVC 기본 설정에는 InternalResourceViewResolver를 기본으로 사용하고 있다. InternalResourceViewResolver는 사용이 간단해서 편하지만, RequestDispatcher가 forward 할 수 있는 내부 리소스(jsp/서블릿)만 해석이 가능하기 때문에 다른 뷰 템플릿(Thymeleaf )을 사용하는 경우에는 다른 viewResolver를 사용해야 한다.  Thymeleaf와 같은 뷰 템플릿을 사용하는 경우에는 Thymel..

[Spring Boot] 2. Request Mapping

Spring MVC1.  MVC 패턴Spring Web MVC에서는 Controller, Service, DAO 계층으로 구성된 MVC 패턴을 따른다.1) Controller 계층: 클라이언트의 요청을 처리하고, 비즈니스 로직을 실행한 뒤 Model 객체를 반환한다.2) Service 계층: 비즈니스 로직을 수행한다.    Controller에서 전달받은 Model 객체를 가공하고, DAO에서 전달받은 데이터를 조합하여 비즈니스 로직을 실행한다.   Transaction이 분리되어 있다.3) DAO 계층: 데이터베이스와의 상호작용을 담당한다.    데이터베이스에 접근하여 데이터를 조회하거나 수정하는 등의 작업을 수행한다.   (DAO는 데이터베이스에 접근하는 객체이고, CRUD가 분리되어 있다.)    ..

[Spring Boot] 1. Spring Boot 개요 및 개발환경 구축

스프링부트의 특징1. 톰캣 서버(WAS 서버)가 내장되어 있어서 따로 구축할 필요가 없다.2. Starter을 이용하여 라이브러리를 묶어서 버전을 관리한다. - ex) 웹개발을 할거면, spring-boot-starter-web을 추가해주면 웹과 관련된 라이브러리가 모두 제공된다. -> Starter만 추가하면 연관되어 있는 라이브러리가 한 번에 관리된다. -> 1) 버전관리 2) 의존성관리 3) 빈등록 관리가 자동화 된다.3. xml 설정을 사용하지 않는다.4. Spring Boot는 내장 톰캣을 사용하고 있기 때문에 jar 형식을 이용해 단독 배포가 가능하다(.war는 배포 서버에 톰캣, jdk를 설치해주어야 하는데, .jar는 jdk에 대한 설치만 되어 있으면 톰캣 서버 설치 필요없이 .jar를 바..