spring
9 posts
(기초)Kotlin StringBoot 에서 TailwindCSS 설정하기

들어가면서 npm 초보에게는 너무 어려워 Tailwindcss 공식 문서와 검색 자료들은 npm 이 아직 서투른 제가 bootstrap 에서 벗어나 tailwindcss 로 이동하기에는 자료도 적고 자세하지 않아서 이해하기 어려웠습니다. 대부분의 문서에서는 기본적인 지식을 전제로 글이 작성되었고, 반갑게 찾아본 자료들을 보며 표정이 굳어졌습니다… 웃다_정색하는_노홍철 그래서 많이 삽질했고 드디어 성공했는데, 혹시 다른 사람들에게 도움이 될까 싶어 간단히 글로 정리해봅니다. 해당 글에서는 npm 이 무엇인지, TailwindCSS 가 무엇인지에 대해서는 설명하지 않겠습니다. 목차 이번 글은 Springboot project 에서 tailwindcss 를 적용하는 내용을 담고 있습니다. 순서는 다음과 같습니다. Springboot project 에 NPM 설정 Kotlin Gradle 에서 설정 tailwindcss 추가 및 설정 npm 과 TailwindCSS 가 무엇인지에 대해서는…

August 15, 2023
spring
Kotlin StringBoot 에서 QueryDSL 설정하기

Kotlin SpringBoot 환경에서 QueryDSL 을 설정고자 했으나 제대로 성공한 케이스가 없어 진땀 뺀 기억이 있습니다. 해당 포스트에서는 제가 적용 한 kotlin spring boot 에서 QueryDSL 을 공유하고자 하며 이미 Spring Data JPA 환경이 구축된 상태를 전제로 합니다. 추가로 해당 포스트는 아직 다듬어지지 않은 상태이므로 추후 피드백에 따라 수정될 여지가 있습니다. :) 구현 환경 종류 버전 OS M1 Mac(Monterey 12.4) IDE Intellij(2022.1.2) Java jdk17 (temurin) Spring 2.7.5 Gradle 7.6.1 정확한 이유는 파악 중 이지만 kotlin plugin 버전을 높일 경우 제대로 적용되지 않는 문제가 있습니다. 1.6.10 에서는 문제 없이 동작하는 것을 확인했으므로 본인 환경에 따라 적용하면 될 것 같습니다. 환경 설정 build.gradle.kts 설정 추가 해당 파일의 전문은 …

May 24, 2023
spring
[Gradle] Gradle Project 에 JUnit5 + AssertThat 설정

개요 Gradle Project 에 Junit5 + AssertThat 을 설정해보도록 하겠습니다. 맥락을 이해한다면 Spring 프레임워크를 사용하거나 Maven Project 에도 적용할 수 있으니 참고 바랍니다. 종류 환경 OS M1 Mac(Monterey 12.4) IDE Intellij(2022.1.2) Java jdk17 (temurin) Gradle Project 에 JUnit5 라이브러리 추가 Gradle Junit5 Use Guide 를 확인하여 손쉽게 JUnit5 를 적용할 수 있습니다. 직접적인 관련은 없지만 assertThat 을 사용하기 위해서 assertj 종속성도 같이 추가했습니다. Gradle Project build.gradle 수정 Gradle Spring 환경에서 junit5 라이브러리 추가 Gradle 과 동일하게 설정해도 무관하지만 Spring boot 에는 spring-boot-starter-test 가 존재하기 때문에 종속성을 다르게 가져갈…

June 21, 2022
spring
java
[Java] Gradle Project lombok 설정

개요 Gradle Proejct 에 Lombok 을 추가하는 가장 정석적이고 깔끔한 방법을 소개하고자 합니다. 추가적으로 Intellij IDE 에서 해야되는 간단한 설정도 확인할 수 있습니다. 종류 환경 OS M1 Mac(Monterey 12.4) IDE Intellij(2022.1.2) Java jdk17 (temurin) Gradle Project 에 Lombok 적용하기 주로 라이브러리에 추가하는 통상적인 방법과 달리 Gralde Project는 라이브러리를 추가하지 않아도 plugin 으로 간단히 Lombok을 적용할 수 있습니다. lombok plugins guide 에 접속하여 버전과 적용 방법을 확인할 수 있습니다. bulid.gradle 에 lombok plugin 추가 Dependences 에 의존성과 annotation 설정을 해야하는 일반 gradle 환경과 달리 간단하게 적용할 수 있는 것이 가장 큰 장점입니다. IntelliJ 에 Lombok 설정하기 플러…

June 20, 2022
java
spring
[springboot_start] thymeleaf layout 설정(작성 중)

개요 이번에는 thymeleaf 를 프로젝트에 적용하는 방법과 thymeleaf layout 을 설정하는 방법에 대해서 알아보겠습니다. 종류 환경 OS M1 Mac(Monterey 12.4) IDE Intellij(2022.1.2) Java jdk17 (temurin) Thymeleaf 환경 설정 thymeleaf 의존성 추가 build.gradle 파일에 thymleaf 의존성을 추가합니다. thymeleaf 설정 application.yml 파일에 thymelaf 관련 항목을 설정합니다. 각 항목 해설 옵션 해설 prefix: classpath:templates/ thymeleaf 최상위 디렉토리를 지정합니다. Controller 에서 /resource/templates/index.html 을 return 하고 싶은 경우 return index 라고 작성하면 됩니다. suffix: .html .html 으로 설정하여 파일 확장자를 생략할 수 있습니다. cache: true 캐시…

January 09, 2022
spring
[springboot] Spring Boot project 시작하기, log4j2 + yml

이번 포스팅에서는 Spring Boot Project 에 log4j2 를 설정해보겠습니다. 프로젝트를 생성하는 방법은 이전 포스트를 참고해주시길 바랍니다. 구현 환경 종류 버전 OS M1 Mac(Monterey 12.4) IDE Intellij(2022.1.2) Java jdk17 (temurin) Spring 2.7.5 Gradle 7.6.1 라이브러리 가져오기 (선택)기존 logging 라이브러리 제외하기 log4j2 라이브러리를 가져오기 전, 스프링에서 제공하는 기본 라이브러리는 사용하지 않을 예정이므로 제외합니다. 선택 사항이지만 사용하지 않은 라이브러리를 굳이 남겨둘 이유는 없으니 제외시키는걸 추천드립니다. log4j2 라이브러리 가져오기 다음으로는 log4j2와 slf4j를 위한 라이브러리를 가져오겠습니다. slf4j는 slf4j-impl에 포함되어있으므로 따로 가져오진 않겠습니다. 버전은 작성일 기준 2.17.1 이상을 가져오시길 바랍니다. log4j 취약점 논란이 …

January 09, 2022
spring
[springboot] Spring Boot project 시작하기 1/?

개요 신규 Spring Project 를 spring initializr 사이트를 이용하여 생성하고 Intellij IDE 에 import 하는 방법에 대해서 알아보겠습니다. 종류 환경 OS M1 Mac(Monterey 12.4) IDE Intellij(2022.1.2) Java jdk17 (temurin) 프로젝트 생성 spring initializr을 이용한 프로젝트 생성 새로운 springboot project를 시작하는 방법은 여러가지가 있지만 이번에는 spring inializr에 접속하여 간단하게 생성해보도록 하겠습니다. Spring initializr 사이트에 접속합니다. Project 환경 선택 종류 환경 project Gradle Prject language java spring boot 2.6.2 packaging jar java 17 Project Metadata는 각 프로젝트 성격에 맞춰서 작성하면 됩니다. Dependencies는 우측 Add Dependen…

January 09, 2022
spring
Springboot 내장 WAS를 undertow로 변경하기

들어가기에 앞서 Undertow 란? Undertow 란 bloking/non-blo 작업 모두에 사용할 수 있도록 설계된 웹 서버입니다. Tomcat 대신 Undertow 로 바꿔야 하는 이유 아주 오랜시간동안 Tomcat 이 쓰여 익숙하지만, 단지 그 이유 하나만으로 Tocmat 을 써야하는 것은 나쁘다고 생각합니다. 여러 벤치마크 결과에 따르면 Undertow 는 Tomcat 보다 더 빠르고 가볍고 안정적이고 더 많은 부하를 처리할 수 있습니다. 관련 커뮤니티도 잘 갖춰져 있기 때문에 제약이 크지 않다면 Tomcat 보다는 Undertow 를 사용하는 것이 더 합리적이라고 생각합니다. 적용 환경 항목 버전 build tool gradle 7.3.2 application config application.yml 내장 WAS 를 Undertow 로 변경하기 기존 WAS 인 Tomcat 을 제외 Tomcat은 사용하지 않을 예정이므로 제외합니다. 제외하지 않을 경우 에러가 발생할 …

January 09, 2022
spring
[mybatis] java.lang.NumberformatException Error 해결

들어가기에 앞서 Mybatis 환경에서 아래와 같은 에러가 발생하는 2가지 경우와 해결방법에 대해서 알아보겠습니다. 원인 진단 및 해결 데이터 타입 에러 가장 기본적으로 확인해야될 문제로, java 변수와 쿼리 결과의 자료형이 다른지 확인해봅니다. String 으로 받아야할 결과를 int 나 long 같은 정수형 변수로 받는 것은 아닌지 확인해보고 수정할 수 있도록 합니다. 자료형에 문제가 없다면 다음 문제를 의심해보도록 합니다. 동적 쿼리 에러 아무리 봐도 자료형의 문제가 없다면 SQL 동적 쿼리에서 "" 와 ” 를 구분하여 사용하였는지 확인해야합니다. 다음과 같이 작성했을 경우 아래와 같이 변경할 수 있도록 합니다. 해결 방법은 몇 가지 존재하지만 가장 깔끔한 방법은 위와 같이 작은따옴표(”)를 먼저 사용한 뒤 큰따옴표("")를 사용해야 합니다. 해당 오류가 발생하는 이유를 간략히 설명하자면 OGNL(Object Graph Navigation Language) 표현식 때문입니다…

January 08, 2022
spring
mybatis