스프링 7

스프링 로컬 이미지 참조 방법

스프링 MVC 설정 클래스인 WebMvcConfig 클래스에서 URI 패턴을 mapping 해준다 실제 파일이 위치한 경로를 숨기는 역할도 있으며 서버 파일 시스템 내 정적 파일을 참조하기 위해서이다.   WebMvcConfig 클래스의 addResourceHandlers 메서드를 Override 한다ResourceHandlerRegistry 객체인 registry 에서 addResourceHanlder("/upload/**") 를 사용하여 URL 패턴을 지정해준다"/upload/**" 에서 **는 /upload URI 에 해당하는 모든 요청에 대해 대응해준다addResourceLocations("실제 파일의 절대경로"); 는 실제 파일 경로를 설정해준다 위 설정을 통해 클라이언트에서 서버의 파일 시스템..

카테고리 없음 2024.05.13

스프링 Scheduled

@ScheduledSpring 에서 @Scheduled 어노테이션을 사용하면 일정한 시간 간격으로, 혹은 특정 시간에 코드가 실행되도록 설정할 수 있다. (fixedRate, cron) 먼저 Scheduled 를 설정하려면 설정 파일이 위치한 패키지를 root-context.xml 에 component-scan 을 등록해줘야한다.  스케줄링을 작업할 클래스에는 @Component 어노테이션을 사용하여 bean 등록을 하고 @EnableScheduling 어노테이션을 사용하여 스케줄링 설정 작업을 준비한다  이후 사용할 메서드에는 @Scheduled(...) 어노테이션을 달아준다       1) fixedRatefixedRate 는 작업 수행시간과 상관없이 일정 주기마다 메서드를 호출한다.   1초마다 t..

카테고리 없음 2024.05.13

스프링 핸들러 매핑 - RequestMappingHandlerMapping

핸들러 매핑(HandlerMapping) 핸들러 매핑(HandlerMapping) 과 RequestMappingHandlerMapping 클래스스프링은 컨트롤러와 메서드 정보를 관리하고 있다가, 요청이 왔을 때 디스패처 서블릿이 어느 컨트롤러가 이를 처리해야하는지 식별하고 위임한다. 컨트롤러에는 @RequestMapping 관련 어노테이션이 사용되므로 이를 기반으로 요청 매핑 정보를 관리하고, 요청이 왔을 때 이를 처리하는 대상(Handler)를 찾는 클래스가 바로 RequestMappingHandlerMapping 이다.  RequestMappingHandlerMapping 실습  CustomHandler 클래스는 Spring MVC 에서 컨트롤러 역할을 하는 클래스이다. Spring MVC 는 요청을..

카테고리 없음 2024.05.13

스프링 인터셉터(Interceptor) 란 ?

Interceptor (인터셉터)Spring 이 제공하는 기술로써, 디스패처 서블릿(Dispatcher Servlet) 이 컨트롤러를 호출하기 전과 후에 요청과 응답을 참조하거나 가공할 수 있는 기능을 제공한다. 즉, Web Container (Servlet Container) 에서 동작하는 Filter 와 달리 Interceptor 는 Spring Context 에서 동작하는 것이다.디스패처 서블릿은 Handler Mapping 을 통해 적절한 컨트롤러를 찾도록 요청하는데, 그 결과로 실행 체인(HandlerExecutionChain) 을 돌려준다. 그래서 이 실행 체인은 1개 이상의 Interceptor 가 등록되어 있다면 순차적으로 Interceptor 들을 거쳐 컨트롤러가 실행되도록 하고, Int..

카테고리 없음 2024.05.10

스프링 Filter 란?

FilterFilter 는 디스패처 서블릿(Dispatcher Servlet) 에 요청이 전달되기 전/후 에 url 패턴에 맞는 모든 요청에 대해 부가작업을 처리할 수 잇는 기능을 제공한다. 디스패처 서블릿은 Spring 의 가장 앞단에 존재하는 FrontController 이므로, Filter 는 Spring 범위 밖에서 처리가 되는 것이다.즉, Spring Container 가 아닌 Tomcat 과 같은 Web Container (Servlet Container) 에 의해 관리가 되는 것이고 (Spring Bean 으로 등록은 된다), 디스패처 서블릿 전/후 에 처리하는 것이다. 이러한 과정을 그림으로 표현하면 다음과 같다.     Filter 의 메서드Filter 를 추가하기 위해서는 javax.s..

카테고리 없음 2024.05.10

스프링 AOP 란?

AOP (Aspect Oriented Programming, 관점 지향 프로그래밍 )관점 지향은 쉽게 말해 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화 하겠다는 것이다. 여기서 모듈화란 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것을 말한다. 예를 들어, 핵심적인 관점은 결국 우리가 적용하고자 하는 핵심 비즈니스 로직이 된다.또한 부가적인 관점은 핵심 로직을 실행하기 위해서 행해지는 데이터베이스 연결, 로깅, 파일 입출력 등을 예로 들 수 있다. AOP 에서 각 관점을 기준으로 로직을 모듈화한다는 것은 코드들을 부분적으로 나누어서 모듈화하겠다는 의미다.이때, 소스 코드상에서 다른 부분에 계속 반복해서 쓰는 코드들을 발견할 수 있는 데 이것을 ..

카테고리 없음 2024.05.10