전체 Release Notes 목록은 이 곳에서 확인할 수 있습니다.https://luvstudy.tistory.com/tag/Release%20Noteshttps://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.2-Release-Notes21 revisions 기준으로 작성됨Upgrading from Spring Boot 3.1Parameter Name DiscoverySpring Boot 3.2에서 사용하는 Spring Framework version은 더 이상 bytecode를 파싱하여 parameter name을 추론하지 않는다.dependency injection 또는 property binding 관련된 issue가 발생하면 -para..
Spring은 HTML 페이지를 렌더링 하기 위해 Thymeleaf, FreeMarker, Mustache, Groovy 와 같은 Template Engine 을 지원한다. https://docs.spring.io/spring-boot/docs/current/reference/html/web.html#web.servlet.spring-mvc.template-engines 보통 Thymeleaf 를 많이 쓰지만 다른 것과 같이 사용하고 싶은 경우가 있을 수 있다. Spring은 이를 위해 요청에 따라 Template Engine을 분기하여 처리하는 ContentNegotiatingViewResolver 를 제공한다. 설정 사용하려는 template engine 관련 지원 dependency를 다음과 같이 ..
Nuxt (Vue) 나 SvelteKit (Svelte) 같은 FE 개발 framework를 공부하는 것도 좋긴 한데 너무 빠르게 변화하다 보니 학습에 대한 부담이 크다고 느껴졌다. Spring Boot + Thymeleaf에서 Bootstrap을 사용해본적이 있었다. 그래서 Spring Boot + Thymeleaf 에서 Tailwind CSS를 사용해보고 싶어졌다. Tailwind CSS 소개 https://tailwindcss.com/ Tailwind CSS는 plex , pt-4 , text-center , rotate-90 과 같은 class로 구성된 utility-first CSS framework로, markup에서 바로 어떤 디자인이든 만들 수 있다. html에 style을 설정하는 부분을..
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 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를 생성한다. 이로 인해..
2023.09.19 - [Study/Java] - vaadin 사용해 보기 이전 글에 이어 사용하면서 익혔던 몇 가지 기능들을 정리해 보았다. Vaadin을 학습해 보면서 최종적으로 느낀 점은 다음과 같다. 실 라이브 서비스에 쓰일만한 라이브러리는 아니고 FE 관여 없는 관리툴 개발 시 쓰임이 있다. java script 작성이나 css 설정의 단계가 생략되어 얼핏 좋아 보이지만 기반 지식을 염두에 두고 vaadin 코드를 작성해야 해서 오히려 학습의 난이도가 높아졌다. 그냥 javascript 라이브러리나 css를 사용하는 게 더 좋다고 느꼈다. Spring의 singleton 기반 bean 객체 관리와 다르게 prototype으로 코드가 처리되어서 성능이 떨어지고 Spring과 연계가 복잡해진다. V..
JDK 버전별 New Features JDK 21은 기존 3년 주기 LTS (Long-term support) 정책을 2년 주기로 변경한 이후 나온 첫 LTS 버전이다. 지난 LTS 버전인 JDK 17 이후 18, 19, 20, 21을 거쳐 어떠한 것들이 변경되었는지 정리해 보았다. (이후 추가될 기능과 관련된 Incubator, Preview feature는 제외) 만약 각 JDK별 변경 사항을 확인하고 싶은 경우 이전 글을 참고하면 된다. 2022.03.24 - [Study/Java] - JDK 18 New Features 2022.09.21 - [Study/Java] - JDK 19 New Features 2023.05.07 - [Study/Java] - JDK 20 New Features 2023..
JDK의 버전별 변경 사항은 이곳을 참고하세요. Spec Java SE 21 Platform JSR 396에 정의된 바와 같이 JSR 396 구현이 목표 실제 Spec은 Final Release Specification 문서를 참고해야 함 Final Release Specification Feature Summary 전체 JEP Feature 목록은 OpenJDK의 JDK21 문서로 확인할 수 있다. JEP Component Feature JEP 430 specification / language String Templates (Preview) JEP 431 core-libs / java.util:collections Sequenced Collections JEP 439 hotspot / gc Gener..
Vaadin 소개 https://vaadin.com/ vaadin은 ui component 구성을 제공해 주는 java기반 웹프레임워크이다. Swing이나 AWT를 작성하는 것처럼 java 코드를 작성하면 요청에 대해 대응되는 web ui를 제공해 준다. ui관련 html, javascript, css 작업을 따로 하지 않아도 되고 Java 대신 TypeScript를 사용할 수도 있다. 기본 기능은 open-source로 제공되며 생산성 향상을 위한 vaadin UI 관련 테스트 도구나 Advanced UI component는 유료로 제공된다. Vue, Svelte 같은 Front-end Framework를 흥미를 가지고 공부해 보았지만 너무나 변화하는 속도가 빠르다 보니 다른 방법이 없을까 싶어 찾아보..
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...