파란하늘의 지식창고
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..

Spring Boot Actuator 사용해 보기
Study/Java 2023. 1. 29. 15:40

소개 Spring Boot Actuator는 application을 모니터링하고 관리하는데 도움이 되는 여러 추가 기능을 제공한다. Http endpoint나 JMX를 통해 application을 관리하고 모니터링할 수 있다. auditing, health 및 metric 수집을 application에 자동으로 적용한다. Spring Boot Actuator에 대한 안내는 document의 Production-ready Features 섹션으로 안내되고 있다. https://docs.spring.io/spring-boot/docs/current/reference/html/index.html https://docs.spring.io/spring-boot/docs/current/reference/html/a..