본문 바로가기

Spring boot3

Spring Data DynamoDB에서 LocalDate를 편하게 사용해보자! 최근 DynamoDB로 프로젝트를 진행하면서 수많은 시행착오와 불편함을 겪었다. DynamoDB는 현재 Spring Data에서 공식적으로 지원하지 않는다. DynamoDB는 Date만 지원해주고 있는데... 설명은 나중에 추가하겠다. 리플렉션을 이용한 Convertor DynamoDBTypeConbertedTimestamp를 본따 만들어 보았다. 나는 개인적으로 코드 규칙을 비슷하게 만드는게 쉽게 파악해 쓰기 편하다 생각하므로 최대한 비슷하게 만들었다. 물론 실제로는 리플렉션이 아닌 Factory패턴으로 되어있으나 편의상, 그리고 LocalDate Type들의 변동이 없을 것이며 직접 Factorr에 추가해줄 수 있는 구조가 아니기에 간단하게 구현하였다. 거기에 비슷한 구조를 본따 만들면 이미 만들어져.. 2020. 9. 22.
LoggerFactory is not a Logback LoggerContext but Logback is on the classpath 해결방법(Spring + embedded redis) 해당 라이브러리를 빌드 후 서버를 실행하면 아래와 같은 에러가 발생한다. compile group: 'it.ozimov', name: 'embedded-redis', version: '0.7.3' 이전 버전인 0.7.2를 사용하면 정상구동된다. compile group: 'it.ozimov', name: 'embedded-redis', version: '0.7.2' 0.7.2 버전과 0.7.3 버전의 라이브러리를 확인해보니 0.7.3 버전에 org.slf4j가 추가된 것을 볼 수 있다. 위에서 발생한 "LoggerFactory is not a Logback LoggerContext but Logback is on the classpath" 가 Spring boot 내장 slf4j와 충돌해서 발생한 에러임.. 2020. 8. 4.
Spring Boot의 application.propertise 또는 yaml Spring Boot의 application.propertise 또는 yaml에 설정하다보면 자동완성이 되는 것을 많이 보았을 것이다. 지금까지는 스프링 부트에서 제공해주는 편리한 기능이겟지 하고 넘어갔었는데 얼마 전 스터디를 진행 하면서 코드를 까보니 propertise에 ConfigProperties가 연결되어 있고 클래스로 만들어져 있었다. 이를 이용하여 @Value(${spring.redis}) 같이 spel문을 사용하지 않고 해당 클래스를 의존성 주입받아 훨씬 간결하게 코드 작성이 가능했다. 2020. 4. 23.