Spring
Spring - 클래스 초기화 방법 비교 (PostConstruct, EventListener)
예전에 Spring 프로젝트에서 Spring 기동 시 Bean으로 등록하는 클래스의 초기화 방법을 포스팅한 적이 있다. 이때는 Bean으로 등록하는 클래스가 정상적으로 생성되어 의존성 주입(DI)까지 끝난 후 초기화가 되도록 하는 방법으로 @PostConstrcut 어노테이션을 사용한 초기화 방법을 주 내용으로 기록하였었다. 이후 @EventListener(ApplicationReadyEvent.class)를 사용하여 초기화하는 방식도 알게 되어 두 방법의 차이점에 대해 기록하고자 한다. @PostConstruct 해당 어노테이션을 사용한 초기화 동작은 언급했듯 DI까지 다 끝나고 정상적으로 클래스가 생성된 이후 수행된다. 즉, 클래스가 생성된 직후 해당 어노테이션을 적용한 초기화 메서드가 실행된다고 보..

Spring MVC - 예외 처리(Error page)
Spring MVC에서 예외 발생시 흐름 및 처리하는 방법에 대해 간단하게 정리를 한 내용입니다. 해당 정리 글에서는 예외 발생 시 전체적인 흐름 및 에러 페이지 처리에 대한 내용을 다루며, API의 예외 처리는 다루지 않습니다. 들어가기에 앞서 Spring MVC의 예외 처리에 대한 내용에 들어가기에 앞서 필터와 인터셉터 등에 대한 HTTP 요청의 흐름을 아는 것이 우선이므로 이에 대해 간략히 알아보고 들어가도록 하겠습니다. HTTP 요청 흐름 HTTP 요청에 따른 흐름은 위 이미지와 같이 WAS에서 Servlet Filter를 통과하여 Spring Interceptor를 통과하게 됩니다. (Filter와 Interceptor에 대한 자세한 내용은 "Servlet Filter & Spring Inter..
Mac] kill processor script
Mac에서 IntelliJ를 사용하며 Spring 프로젝트를 실행시키는 경우에 종종 프로세스가 정상적으로 종료가 안되어 8080 포트가 계속 사용되면서 재실행이 안되는 경우가 발생한다. 그렇다고 이러한 경우가 매우 자주 발생하는 것은 아니다 보니 8080 포트를 사용 중인 프로세스를 찾아서 죽이는 방법을 까먹게 되더라.. 그때마다 다시 찾아서 사용하기가 불편해서 그냥 스크립트로 만들어서 쓰기로.. 그렇게 만든 스크립트를 만든 김에 공유하고자 블로그에 남겨둡니다. 쉘 스크립트 코드 더보기 #!/bin/sh PORT=$1 if [ -z "$PORT" ]; then PORT=8080 fi echo "Port : $PORT" if [[ "$PORT" = *[a-zA-Z]* ]]; then echo "Port i..