파란하늘의 지식창고
article thumbnail
Spring Release 일정 확인하기
Study/Java 2023. 11. 15. 17:42

Spring 은 현재 JDK Release 일정과 나란히 6개월 주기로 major 혹은 minor Release를 배포하고 있다. Spring Framework, Spring Boot, Spring Cloud 등 여러 프로젝트들이 각각 Release 일정이 있는데 언제 Release가 되는지 확인하고 싶은 경우 아래 사이트를 참고하면 된다. https://calendar.spring.io/ 해당 페이지 아래의 iCal 링크를 구글 캘린더, 아이폰이나 안드로이드 캘린더 같이 본인이 자주 사용하는 달력 어플에 등록하여 일정을 확인할 수도 있다. https://calendar.spring.io/ical 하지만 위 사이트에서 일정을 클릭하면 각 Release에 대한 github milestone을 확인할 수 있..

Spring AOT 살펴보기
Study/Java 2023. 11. 8. 20:49

spring boot reference 문서를 보면 3.x 이후 GraalVM Native Image Support 문서가 추가되었다. Spring Boot 3.x부터 GraalVM Native Image를 정식 지원한다. https://docs.spring.io/spring-boot/docs/current/reference/html/ https://docs.spring.io/spring-boot/docs/current/reference/html/native-image.html https://graalvm.github.io/native-build-tools/latest/maven-plugin.html 빌드 시점에 런타임에 수행되어야 할 부분까지 미리 처리하여 docker image를 생성한다. 이로 인해..

[troubleshooting] Spring Boot 테스트 코드 실행 시 java.lang.NoClassDefFoundError: io/micrometer/context/ThreadLocalAccessor 에러
Study/Java 2023. 8. 18. 05:35

Spring Boot 3.1.1에서 테스트 코드 실행 시 다음과 같은 에러가 발생했다. Caused by: java.lang.IllegalStateException: MicrometerObservationRegistryTestExecutionListener requires micrometer-observation 1.10.8 or higher at org.springframework.test.context.observation.MicrometerObservationRegistryTestExecutionListener.(MicrometerObservationRegistryTestExecutionListener.java:80) ... 59 common frames omitted Caused by: java...

Spring Boot Condition Evaluation Report 확인하기
Study/Java 2023. 7. 16. 16:15

Condition Evaluation Report 소개 spring-boot-autoconfigure 를 사용하면 여러 조건에 따라 제공되는 AutoConfiguration 설정들이 활성화 또는 비활성화된다. 예를 들어 DataSource를 사용할 때 DataSource 관련 properties나 bean 설정을 하고 DataSource 관련 jar를 참조하는 경우 DataSourceAutoConfiguration에서 활성화 조건들에 대해 체크한 후 활성화되어 사용자가 일일이 설정하지 않아도 기본적인 설정들을 제공해 준다. Spring Boot는 어떤 AutoConfiguration이 활성화되고 어떤 AutoConfiguration이 비활성화되었는지 확인할 수 있도록 Condition Evaluation..

[troubleshooting] Spring Boot 3.1.0에서 hibernate cannot be cast 오류 발생
Study/Java 2023. 6. 21. 01:53

Spring Boot 3.1.0으로 적용한 이후 특정 프로젝트가 startup 되지 않는 현상이 발견되었다. 발생한 오류는 다음과 같다. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'someEntityManagerFactory' defined in class path resource [somepackage/config/SomeDataJpaConfig.class]: class org.hibernate.mapping.BasicValue cannot be cast to class org.hibernate.mapping.ToOne (org.hibernate.mapping.BasicValue and o..

Spring Boot 프로젝트 properties 암복호화 처리 구현하기
Study/Java 2023. 6. 11. 03:32

Spring Boot 프로젝트에서 암복호화 사용에 대해 https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config.encrypting Spring Boot를 사용할 경우 properties의 값의 암호화를 위한 기본 지원을 제공하지 않는다. 다만 Spring Environment에 포함된 값을 수정하는데 필요한 hook point를 제공한다. EnvironmentPostPropcessor interface를 구현하여 application이 start 하기 전에 environment를 조작할 수 있다. 따라서 EnvironmentPostProcessor를 통해 properties의 값..

Spring Boot 3.1 Release Notes
Study/Java 2023. 5. 26. 22:17

전체 Release Notes 목록은 이곳에서 확인할 수 있습니다. https://luvstudy.tistory.com/tag/Release%20Notes https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.1-Release-Notes 19 revision 기준으로 작성됨 Upgrading from Spring Boot 3.0 Dependency Management for Apache HttpClient 4 Spring Framework 6에서는 Apache HttpClient 5를 선호하기 위해 RestTemplate 을 사용하는 Apache HttpClient 4에 대한 지원이 제거되었습니다. Spring Boot 3.0에는 HttpC..

Spring Boot 프로젝트 logback accesslog 설정하기 (Tomcat Servlet 기준)
Study/Java 2023. 2. 17. 05:18

Spring Boot Logback 사용 기본 설정 Spring Boot를 사용한 application에서 로그를 사용하려면 다음 dependency를 추가한다. (현재는 logback이 기본 참조되어 있는데 과거엔 log4j -> slf4j가 기본 설정이었다.) org.springframework.boot spring-boot-starter-logging Spring Boot가 제공하는 logback 기본 설정 위치는 spring boot의 base.xml 파일이며 다음과 같다. https://github.com/spring-projects/spring-boot/blob/main/spring-boot-project/spring-boot/src/main/resources/org/springframewor..

article thumbnail
Spring Boot Thymeleaf 사용해 보기
Study/Java 2023. 2. 1. 20:22

thymeleaf도 하도 오래간만에 보니 새로 배우는 느낌이어서 정리하면서 써보려고 한다. FE, BE가 완전히 분리되지 않는다는 게 단점이지만 반대로 보면 Thymeleaf가 BE와 연동이 매우 쉽다는 것이 장점이기도 하다. Spring Boot에서 Thymeleaf 사용하기 기본 사용 Spring Boot에서 Thymeleaf를 사용하려면 다음 dependency를 추가하면 된다. org.springframework.boot spring-boot-starter-thymeleaf 이 dependency를 추가하면 Spring Boot AutoConfigure는 Thymeleaf를 사용할 수 있는 기본적인 설정을 제공해 준다. 현재 spring-boot-starter-thymeleaf는 thymeleaf..

article thumbnail
Spring Boot Admin 사용해 보기
Study/Java 2023. 1. 30. 19:23

소개 Spring Boot Actuator까지 설정하고 Actuator의 내용을 /actuator/* 주소를 호출하여 확인하는 것까지 진행하였었다. 각각의 application을 일일이 조회하여 확인하는 것은 가장 단순한 방법이고 여러 application의 상태를 한 곳에서 모니터링하는 것이 좋다. metric 정보를 수집하여 관리하는 방법은 다양하다. 유료로 제공하는 경우도 있고 오픈 소스로 사용하기 좋은 것도 많다. Spring Boot Admin는 오픈소스로 로그를 따로 저장하지 않고 단순하게 조회할 때마다 현재 상태를 확인할 수 있는 UI를 제공해 준다. Spring이 제공하는 공식 오픈소스는 아니고 codecentric에서 제공하는 오픈 소스이다. https://github.com/codece..