본문 바로가기

SpringBoot/Common4

Spring Multi profile 설정(YML) 개인 공부 목적으로 작성한 글입니다. 아래 출처를 참고하여 작성하였습니다. 하나의 Spring Boot Profile에 대한 내용은 아래 포스팅을 참고하시면 됩니다. Spring Profiles 설정 방법 목차 multi profile YML 설정 방법 기본 프로필 설정하기 현재 실행중인 profile 확인 방법 적용할 profile 선택 방법 1. multi profile YML 설정 방법 하나의 application.yml에 여러 profile을 사용하려면 spring.config.activate.on-profile 설정을 씁니다. 기존에는 spring.profiles 속성을 사용했지만 Spring Boot 2.4 버전부터 deprecated 되었습니다. 프로필 구분자로 --- 를 사용합니다. # a.. 2021. 9. 26.
인터셉터(Interceptor) 개인 공부 목적으로 작성한 글입니다. 아래 출처를 참고하여 작성하였습니다. 1. 인터셉터란? Spring이 제공하는 기술로써, 디스패처 서블릿(Dispatcher Servlet)이 컨트롤러를 호출하기 전과 후에 요청과 응답을 참조하거나 가공할 수 있는 기능을 제공합니다. 즉, 웹 컨테이너에서 동작하는 필터와 달리 인터셉터는 스프링 컨텍스트에서 동작을 하는 것입니다. 디스패처 서블릿은 핸들러 매핑을 통해 적절한 컨트롤러를 찾도록 요청하는데, 그 결과로 실행 체인(HandlerExecutionChain)을 돌려줍니다. 그래서 이 실행 체인은 1개 이상의 인터셉터가 등록되어 있다면 순차적으로 인터셉터들을 거쳐 컨트롤러가 실행되도록 하고, 인터셉터가 없다면 바로 컨트롤러를 실행합니다. 인터셉터는 스프링 컨테이너.. 2021. 9. 22.
필터(Filter) 개인 공부 목적으로 작성한 글입니다. 아래 출처를 참고하여 작성하였습니다. 1. 필터란? 디스패처 서블릿(Dispatcher Servlet)에 요청이 전달되기 전/후에 URL 패턴에 맞는 모든 요청에 대해 부가작업을 처리할 수 있는 기능을 제공합니다. 즉, 스프링 컨테이너가 아닌 톰캣과 같은 웹컨테이너에 의해 관리되므로 디스패처 서블릿으로 가기 전에 요청을 처리하는 것입니다. 2. 필터의 메소드 필터를 추가하기 위해서는 javax.servlet의 Filter 인터페이스를 구현해야하며 이는 다음의 3가지 메소드를 가지고 있습니다. init doFilter destroy public interface Filter { public default void init(FilterConfig filterConfig).. 2021. 9. 22.
Spring Profiles 설정 방법 아래 출처를 참고하여 작성하였습니다. 개인 공부목적으로 작성한 글입니다. 1. Profile을 사용하는 이유 Profile을 사용하면 Bean을 특정한 프로파일에만 매핑하여 Bean이 필요할 때만 주입받을 수 있습니다. dev (development) prod (production) test 2. Profile 셋팅방법 2-1. @Profile @Profile 어노테이션을 사용하여 특정한 프로파일에만 사용할 Bean을 매핑할 수 있습니다. (어노테이션은 여러 프로파일을 가질 수 있습니다.) //DevDatasourceConfig Bean은 dev 프로파일에서는 Bean이 활성화되지만, prod 환경에서는 활성화되지 않습니다. @Component @Profile("dev") public class DevD.. 2021. 9. 13.