Spring
-
테스트 수행 시, 각 phase별로 설정이 다른 경우나 특정 phase인 상황을 테스트하고 싶을 수 있다. 그런 경우 어떻게 설정하는지 알아보도록 하자. @Profile 빈이나, 컴포넌트에 프로필을 구분하여 등록할 수 있게 해주는 어노테이션 @TestConfiguration public class TestConfiguration { @Bean @Profile("beta") public DataSource DataSource() { return new Log4jdbcProxyDataSource(hikariDataSource()); } @Bean @Profile("alpha") public DataSource testDataSource() { return new HikariDataSource(hikariDa..
[Spring] @ActiveProfiles, @Profile 활용 in Test테스트 수행 시, 각 phase별로 설정이 다른 경우나 특정 phase인 상황을 테스트하고 싶을 수 있다. 그런 경우 어떻게 설정하는지 알아보도록 하자. @Profile 빈이나, 컴포넌트에 프로필을 구분하여 등록할 수 있게 해주는 어노테이션 @TestConfiguration public class TestConfiguration { @Bean @Profile("beta") public DataSource DataSource() { return new Log4jdbcProxyDataSource(hikariDataSource()); } @Bean @Profile("alpha") public DataSource testDataSource() { return new HikariDataSource(hikariDa..
2023.08.26 -
목차 Dispatcher Servlet에 대해서 간단하게 소개 대략적인 호출 구조 구체적인 Method Call을 보여주는 Sequence Diagram Dispatcher Servlet Spring에서 제공하는 Front Controller 역할을 하는 Servlet으로 Client의 Request에 대해 실제 처리하는 method를 호출해준다. 그러면, Client로 부터 요청이 왔을 때, Spring의 Dispatcher Servlet은 어떠한 과정을 거쳐서 응답을 주는지 알아보자. 대략적인 구조 Client -> Dispatcher Servlet : url로 접근하여 정보를 요청 Dispatcher Servlet -> Handler Mappings : 해당 요청을 매핑한 컨트롤러가 있는지 탐색 :..
[Spring] Dispatcher Servlet (Request, Response) 동작 프로세스목차 Dispatcher Servlet에 대해서 간단하게 소개 대략적인 호출 구조 구체적인 Method Call을 보여주는 Sequence Diagram Dispatcher Servlet Spring에서 제공하는 Front Controller 역할을 하는 Servlet으로 Client의 Request에 대해 실제 처리하는 method를 호출해준다. 그러면, Client로 부터 요청이 왔을 때, Spring의 Dispatcher Servlet은 어떠한 과정을 거쳐서 응답을 주는지 알아보자. 대략적인 구조 Client -> Dispatcher Servlet : url로 접근하여 정보를 요청 Dispatcher Servlet -> Handler Mappings : 해당 요청을 매핑한 컨트롤러가 있는지 탐색 :..
2022.10.13 -
Spring에서 제공하는 의존성 주입 방식은 크게 3가지이다. 필드 주입 ( Field Injection ) 수정자 주입 ( Setter or Method Injection ) 생성자 주입 ( Constructor Injection ) 이러한 종류들 중에서 Spring에서는 생성자 주입 방식을 권장하고 있다. 그러면 이러한 방식을 권장하는 이유를 살펴보자. 필드, 수정자 주입 우선 필드, 수정자 주입의 경우에는 @Autowired라는 어노테이션을 사용한다. public class PostsService { @Autowired private PostsRepository postsRepository; // or @Autowired public void setPostsRepository(PostsReposit..
[Spring] DI(의존성주입)시 생성자주입과 @AutowiredSpring에서 제공하는 의존성 주입 방식은 크게 3가지이다. 필드 주입 ( Field Injection ) 수정자 주입 ( Setter or Method Injection ) 생성자 주입 ( Constructor Injection ) 이러한 종류들 중에서 Spring에서는 생성자 주입 방식을 권장하고 있다. 그러면 이러한 방식을 권장하는 이유를 살펴보자. 필드, 수정자 주입 우선 필드, 수정자 주입의 경우에는 @Autowired라는 어노테이션을 사용한다. public class PostsService { @Autowired private PostsRepository postsRepository; // or @Autowired public void setPostsRepository(PostsReposit..
2022.10.12 -
Unchecked Exception 발생 시 처리하는 방법이 다양하게 존재합니다. 그중에서도 @ControllerAdvice @ExceptionHandler를 조합해서 사용하는 방법을 가장 많이 사용하는 것 같습니다. 해당 방법에 대해서 정리해보도록 하겠습니다. @ControllerAdvice ControllerAdvice는 여러 컨트롤러에 대해 전역적으로 ExceptionHandler를 적용해줍니다. ControllerAdvice 어노테이션에는 @Component 어노테이션이 있어서 ControllerAdvice가 선언된 클래스는 스프링 빈으로 등록됩니다. 에러를 핸들링하는 클래스를 만들어 @ControllerAdvice 어노테이션을 붙여주면 에러 처리를 위임할 수 있습니다. 범위 설정 @Control..
[Spring] 예외처리 @ExceptionHandler @ControllerAdviceUnchecked Exception 발생 시 처리하는 방법이 다양하게 존재합니다. 그중에서도 @ControllerAdvice @ExceptionHandler를 조합해서 사용하는 방법을 가장 많이 사용하는 것 같습니다. 해당 방법에 대해서 정리해보도록 하겠습니다. @ControllerAdvice ControllerAdvice는 여러 컨트롤러에 대해 전역적으로 ExceptionHandler를 적용해줍니다. ControllerAdvice 어노테이션에는 @Component 어노테이션이 있어서 ControllerAdvice가 선언된 클래스는 스프링 빈으로 등록됩니다. 에러를 핸들링하는 클래스를 만들어 @ControllerAdvice 어노테이션을 붙여주면 에러 처리를 위임할 수 있습니다. 범위 설정 @Control..
2022.10.07