파란하늘의 지식창고
Spring Boot 전역 에러 처리
Study/Java 2019. 4. 30. 13:31

Spring Framework 5.1.6.RELEASE, Spring Boot 2.1.4 .RELEASE 기준으로 작성됨 Spring Framework의 전역 에러 처리 Spring framework는 전역 에러를 처리하기 위해 아래의 인터페이스를 제공한다. 제공되는 interface servlet (webmvc) HandlerExceptionResolver reacitve (webflux) WebExceptionHandler Servlet 전역 에러 처리 HandlerExceptionResolver Spring Web MVC - Dispatcher Servlet - Exceptions handlerExceptionResolver는 servlet에서 전역 에러 처리를 하기 위해 제공되는 인터페이스이다. ..

Spring Boot AutoConfiguartion 에서 생성자나 @PostConstruct로 ConfigurationProperties 값 변경 시 bean 호출 순서 문제
Study/Java 2019. 4. 23. 11:25

문제 발생 상황은 다음과 같다. Spring Boot AutoConfiguration으로 개발 ConfiguartionProperties를 사용 AutoConfiguration에서 ConfiguartionProperties를 생성자 또는 @PostConstruct에서 호출하여 추가 작업을 처리 다른 Configuration에서 해당 properties를 사용하면 3번 작업이 수행되지 않은 상태로 ConfigurationProperties가 넘어와서 문제가 발생 (로그로 확인해보면 이 후에 수행 되는 것을 확인함) 해당 상황의 간단한 코드는 다음과 같다. @Configuration @EnableConfigurationProperties(TestProperties.class) public class ACon..

article thumbnail
Eclipse debug view의 Variables에 Error 가 표시되는 경우
Study/Java 2019. 4. 19. 15:11

잘 쓰던 Eclipse (또는 STS)가 최근 버전을 다운로드하고 나서 debug 창에 객체 정보가 올바르게 보이지 않는 현상이 발생하고 있다. (STS 4.2.0, 4.2.1에서 확인한 현상임) 예를 들어 아래처럼 에러가 나서 하위 객체의 정보가 표시되지 않고 있다. 그런데 또 해당 객체를 클릭하면 아래에 관련 정보를 간략하게나마 아래창에서 확인이 된다. 뭔가 새 버전의 eclipse에서 기본 설정값이 바뀐 것 같은데 하위 객체 정보를 바로 보지 못해 불편하다. 아래와 같이 해당 창에서 오른쪽 마우스 -> Show Logical Structure -> Array 체크 항목을 해제하면 기존의 결과처럼은 보이지 않지만 어느 정도 확인을 할 수 있게 된다. 해당 설정은 이전 버전에서도 동일한 설정이었고 현재..

article thumbnail
Eclipse Package Explorer 에서 Maven Dependencies 정렬하기
Study/Java 2019. 4. 18. 09:23

Eclipse를 사용하면서 Package Explorer의 Maven Dependencies에서 참조된 dependency jar를 열어보는 경우가 많다. 그런데 정렬이 되어 있지 않아 찾기가 힘들다. 요걸 정렬하는 옵션이 Eclipse에 있다. Window -> Preferences -> Java Appearance 에 Sort library entries alphabetically in Package Explorer 옵션을 활성화해주면 된다. 해당 설정을 하면 아래 처럼 정렬이 되어 찾기 편해진다.

Spring Boot AutoConfigurtaion java.io.FileNotFoundException: class path resource [.class] cannot be opened because it does not exist 에러
Study/Java 2019. 4. 3. 15:49

Spring Boot AuoConfiguration 개발할 때 spring.factories에 EnableAutoConfiguration를 등록하여 사용하는데 아래와 같은 에러가 발생하는 경우가 있다. Caused by: java.io.FileNotFoundException: class path resource [.class] cannot be opened because it does not exist at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:180) at org.springframework.core.type.classreading.SimpleMetadataReader.(SimpleMetad..