파란하늘의 지식창고
Spring에서 URL의 PathVariable을 Filter 단계에서 호출하여 사용하기
Study/Java 2024. 2. 3. 22:14

@PathVariable 변수의 사용 Spring의 RequestMapping은 다음과 같이 고정 값이 아닌 path variable을 지정하여 사용할 수 있다. @GetMapping("/{projectId}/setting/{mainMenuId}/{subMenuId}") public String page(@PathVariable String projectId, @PathVariable mainMenuId, @PathVariable String subMenuId) { // ... 생략 } 이렇게 설정되는 PathVariable 은 HandlerMethodArgumentResolver 중 PathVariableMethodArgumentResolver 를 통해 requestAttribute에 해당 값 들이 추..

Google Bard (Gemini)에게 Spring Boot 3.2의 변경점을 물어보았다.
Study/Java 2023. 12. 7. 19:59

오늘 구글이 Gemini라는 AI를 공개했다. https://korea.googleblog.com/2023/12/blog-post_652.html 가장 유능하고 범용적인 AI 모델 제미나이(Gemini)를 소개합니다 모든 사람들에게 더욱 유용한 AI를 만듭니다 이 블로그는 구글 The Keyword 블로그( 영문 )에서도 확인하실 수 있습니다. 순다 피차이(Sundar Pichai) 구글 및 알파벳 CEO 기술의 변화는 과학의 발전, 인류 korea.googleblog.com 관련해서 다수의 동영상을 통해 소개도 하였다. https://www.youtube.com/watch?v=jV1vkHv4zq8&list=PL590L5WQmH8cSyqzo1PwQVUrZYgLcGZcG openai의 gpt4 모델보다 상..

Spring Boot 3.2 Release Notes
Study/Java 2023. 12. 1. 19:50

전체 Release Notes 목록은 이 곳에서 확인할 수 있습니다. https://luvstudy.tistory.com/tag/Release%20Notes https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.2-Release-Notes 21 revisions 기준으로 작성됨 Upgrading from Spring Boot 3.1 Parameter Name Discovery Spring Boot 3.2에서 사용하는 Spring Framework version은 더 이상 bytecode를 파싱하여 parameter name을 추론하지 않는다. dependency injection 또는 property binding 관련된 issue가 발생하..

Spring Boot WebMVC에서 Thymeleaf, Mustache ViewResolver 같이 사용하기
Study/Java 2023. 11. 25. 14:01

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를 다음과 같이 ..

article thumbnail
Spring Boot + Thymeleaf + Tailwind CSS 사용해 보기
Study/Java 2023. 11. 16. 04:11

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을 설정하는 부분을..

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를 생성한다. 이로 인해..

vaadin 사용해 보기 (2)
Study/Java 2023. 11. 4. 01:56

2023.09.19 - [Study/Java] - vaadin 사용해 보기 이전 글에 이어 사용하면서 익혔던 몇 가지 기능들을 정리해 보았다. Vaadin을 학습해 보면서 최종적으로 느낀 점은 다음과 같다. 실 라이브 서비스에 쓰일만한 라이브러리는 아니고 FE 관여 없는 관리툴 개발 시 쓰임이 있다. java script 작성이나 css 설정의 단계가 생략되어 얼핏 좋아 보이지만 기반 지식을 염두에 두고 vaadin 코드를 작성해야 해서 오히려 학습의 난이도가 높아졌다. 그냥 javascript 라이브러리나 css를 사용하는 게 더 좋다고 느꼈다. Spring의 singleton 기반 bean 객체 관리와 다르게 prototype으로 코드가 처리되어서 성능이 떨어지고 Spring과 연계가 복잡해진다. V..