본문 바로가기

반응형

Study/Java

(189)
vaadin 사용해 보기 (2) 2023.09.19 - [Study/Java] - vaadin 사용해 보기 이전 글에 이어 사용하면서 익혔던 몇 가지 기능들을 정리해 보았다. Vaadin을 학습해 보면서 최종적으로 느낀 점은 다음과 같다. 실 라이브 서비스에 쓰일만한 라이브러리는 아니고 FE 관여 없는 관리툴 개발 시 쓰임이 있다. java script 작성이나 css 설정의 단계가 생략되어 얼핏 좋아 보이지만 기반 지식을 염두에 두고 vaadin 코드를 작성해야 해서 오히려 학습의 난이도가 높아졌다. 그냥 javascript 라이브러리나 css를 사용하는 게 더 좋다고 느꼈다. Spring의 singleton 기반 bean 객체 관리와 다르게 prototype으로 코드가 처리되어서 성능이 떨어지고 Spring과 연계가 복잡해진다. V..
JDK 18 ~ JDK 21 사이 추가된 Feature 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 21 New Features 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 사용해 보기 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를 흥미를 가지고 공부해 보았지만 너무나 변화하는 속도가 빠르다 보니 다른 방법이 없을까 싶어 찾아보..
[troubleshooting] Spring Boot 테스트 코드 실행 시 java.lang.NoClassDefFoundError: io/micrometer/context/ThreadLocalAccessor 에러 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...
annotation 을 가진 class 검색에 reflection util 대신 Spring TypeFilter 사용으로 대체하기 Reflection 소개 reflection 은 java의 classpath metadata를 scan 하고 캐싱하는 라이브러리이다. https://github.com/ronmamo/reflections 다음과 같은 것들을 scan 할 수 있다. type의 subtype annotation으로 주석이 달린 type annotatoin, parameters, return type이 있는 method classpath 경로에서 찾을 수 있는 resource ... 사용 방법은 간단하다. dependency를 추가하고 # Maven org.reflections reflections 0.10.2 # Gradle implementation 'org.reflections:reflections:0.10.2' 다음과 ..
Spring Boot Condition Evaluation Report 확인하기 Condition Evaluation Report 소개 spring-boot-autoconfigure 를 사용하면 여러 조건에 따라 제공되는 AutoConfiguration 설정들이 활성화 또는 비활성화된다. 예를 들어 DataSource를 사용할 때 DataSource 관련 properties나 bean 설정을 하고 DataSource 관련 jar를 참조하는 경우 DataSourceAutoConfiguration에서 활성화 조건들에 대해 체크한 후 활성화되어 사용자가 일일이 설정하지 않아도 기본적인 설정들을 제공해 준다. Spring Boot는 어떤 AutoConfiguration이 활성화되고 어떤 AutoConfiguration이 비활성화되었는지 확인할 수 있도록 Condition Evaluation..
STS Newer patch version of Spring Boot available warning disable 처리하기 최근 STS를 사용하면 새 Spring 버전이 release 된 내용을 warning으로 알려준다. 4.17.0에 추가된 기능인 듯하다. https://github.com/spring-projects/sts4/issues/885 바로바로 버전을 변경할 수 있는 환경이면 이런 기능이 좋지만 계속 이전 버전을 사용해야 하고 여러 project를 import 해서 사용하고 있는 환경이면 이 warning이 50개 이상 뜨면서 실제로 보고 싶은 다른 유효한 warning을 보는 걸 방해하게 된다. 이런 경우 새 버전 알림 warning을 disable 처리하면 된다. Preferences -> Spring -> Validation -> Versions and Support Ranges를 선택하고 비활성화를 선택..

반응형