Spring boot (59) 썸네일형 리스트형 Spring Boot 전역 에러 처리 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 호출 순서 문제 문제 발생 상황은 다음과 같다. Spring Boot AutoConfiguration으로 개발 ConfiguartionProperties를 사용 AutoConfiguration에서 ConfiguartionProperties를 생성자 또는 @PostConstruct에서 호출하여 추가 작업을 처리 다른 Configuration에서 해당 properties를 사용하면 3번 작업이 수행되지 않은 상태로 ConfigurationProperties가 넘어와서 문제가 발생 (로그로 확인해보면 이 후에 수행 되는 것을 확인함) 해당 상황의 간단한 코드는 다음과 같다. @Configuration @EnableConfigurationProperties(TestProperties.class) public class ACon.. Spring Boot AutoConfigurtaion java.io.FileNotFoundException: class path resource [.class] cannot be opened because it does not exist 에러 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.. Spring Boot AutoConfiguration 개발하기 Spring Boot 기반의 프로젝트를 개발하면서 사용하는 기능들을 정리 @ConfigurationProperties 사용하기 ConfigurationProperties는 properties 파일에 설정한 property 값을 java object에 매핑하여 java 코드에서 해당 값을 사용하기 편하게 해 준다. 아래와 같은 properties class를 만든다고 가정한다. @Data @ConfigurationProperties(prefix = "test.sample") public class TestSampleProperties { private String testStr; private int testInt; } 해당 Properties 설정과 매칭 되는 property 값을 properties 파.. Spring Boot log 설정하기 Spring Boot는 java util logging, log4j2, logback에 대한 기본 설정을 제공하고 starter를 사용하면 logback를 default로 설정하여 사용한다. https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/reference/htmlsingle/#boot-features-logging dependency 설정 아래와 같이 설정한다. (만약 spring-boot-starter 를 참조 선언하고 있다면 spring-boot-starter-logging은 기본 참조 되어 있다.) org.springframework.boot spring-boot-starter-logging org.codehaus.janino janino 만약 다른.. Spring Boot multi module, multi profile 환경에서 @PropertySouce 사용하기 springframework는 profile 설정을 통해 환경마다 다른 설정을 호출할 수 있는 기능을 제공한다. spring application 을 실행 시 실행 변수로 spring.profiles.active를 선언하는 방식이다. $ java -jar -Dspring.profiles.active=p1 application.jar 사용 방법 1 - SpEL로 profile 지정 profile 별 properties 파일을 호출하는 경우 Spring 에서 제공하는 @PropertySource을 아래와 같이 사용한다. @Configuration @PropertySource("classpath:sample-${spring.profiles.active}.properties") public class Confi.. Spring Boot Mongodb reactive 설정하기 공부하면서 적는 내용이라 정확하지 않을 수 있음. mongodb 를 모르는 상태에서 연동을 하는 정도의 수준 reactive를 공부하려고 이 설정을 진행 하였음. reactive가 아닌 경우의 설정은 생략 spring-data-mongodb 설정 boot를 사용하지 않는 경우 아래와 같이 AbstractReactiveMongoConfiguration를 구현하여 설정을 한다. dependency 설정 org.springframework.data spring-data-mongodb java config 설정 @Configuration @EnableReactiveMongoRepositories(basePackages = "net.luversof.blog.repository") public class BlogR.. Spring Boot 2.1.0 Release Spring Boot 2.1.0 이 릴리즈 되었다. 이전 버전은 2.0.6.RELEASE 였다. Spring Framework 5.1 기반이다. Spring Boot 2.1.0 Blog Spring Boot 2.1 Release NotesUpgrading to Spring Framework 5.x 마이너 버전이 변경되어서 판올림 시 변경해줘야 하는 부분이 있다. Spring Boot 2.1.0 Configuration Changelog 변경 작업을 하면서 확인한 부분Servlet Path기존 server.servlet.path 가 spring.mvc.servlet.path로 변경Spring Version POM Propertypom에서 사용하던 spring.version 속성이 spring-framewo.. 이전 1 ··· 4 5 6 7 8 다음