코틀린을 스프링 부트 프로젝트를 사용할 때 QueryDSL을 사용할 떄 2.x 와 조금 다른 부분이 있어 정리합니다. ▼ QueryDSL 플러그인 설정을 해줍니다. plugins { id("org.springframework.boot") version "3.0.6" id("io.spring.dependency-management") version "1.1.0" kotlin("jvm") version "1.7.22" kotlin("plugin.spring") version "1.7.22" // querydsl kotlin("plugin.jpa") version "1.8.21" kotlin("plugin.allopen") version "1.8.21" kotlin("kapt") version "1.8.21"..
테스트를 위해 간단한 서버를 만들고 애플리케이션을 배포하려면 다음 두 가지 파일로 배포가 가능합니다. jar war Jar 파일의 경우 내장된 톰캣을 함께 배포하는 방법으로 서버에서 실행만 시키면 동작합니다. War 파일의 경우 이미 Was 환경이 존재해 내장된 톰캣을 제외하고 배포할 때 사용됩니다. ▼ 우선 인텔리제이로 프로젝트를 열고 control 키를 두 번 연속 눌러줍니다. Run Anything 검색 창에서 gradle bootjar를 선택해줍니다. 만약 다시 생성하려면 gradle clean 명령이후에 다시 gradle bootjar 명령을 실행합니다. 8:01:07 PM: 실행 중 'bootJar'... > Task :compileKotlin UP-TO-DATE > Task :compileJ..
H2 데이터베이스 H2 데이터베이스는 관계형 데이터베이스 관리 시스템(DBMS)으로 자바로 작성되었습니다. 임베드 모드로 동작하거나 다른 웹 서버 데이터베이스 관리시스템과 비슷한 구성을 할 수 있도록 클라인트 서버 모드로 구동이 가능합니다. 대부분의 SQL 표준 구문을 지원하며 용량이 매우 적은 저용량 데이터베이스입니다. 스프링 부트환경에서 자주 사용되는 H2 Database를 설치해보고 간단히 데이터를 추가 삭제해보겠습니다. H2 데이터베이스는 별도의 프로그램 없이 웹 브라우저 콘솔을 이용할 수 있어서 편리합니다. https://h2database.com/html/download.html Downloads Downloads Version 2.1.214 (2022-06-13) Windows Install..
스프링 부트 도커 파일 설정 ▼ 최상위 경로에 다음과 같이 docker 파일을 만들어줍니다. EXPOSE에 원하는 포트를 입력합니다. FROM - JDK를 설정합니다. ENV - 환경변수 설정를 설정합니다. WORKDIR - 환경변수를 경로로 지정합니다. COPY - 빌드된 jar 파일을 application.jar의 파일명으로 복사합니다. EXPOSE - 실행될 포트를 설정합니다. CMD - 명령어 옵션을 입력합니다. 빌드 및 컨테이너 실행 ▼ 프로젝트를 빌드하기 전에 gradlew 파일을 실행 가능하도록 권한을 변경합니다. ▼ gradlew를 이용해서 프로젝트를 빌드합니다. -x 옵션으로 test 프로젝트는 빌드하지 않습니다. ▼ 도커 이미지 생성을 위해서 빌드를 합니다. 임의로 my라는 이름을 주었..
Spring Boot에서 JPA를 사용하면 다양한 데이터베이스를 연결할 수 있습니다. 평소 개발할 때는 H2로 연결해서 개발할 수도 있고 실제 배포에는 오라클이나 MySQL을 이용할 수도 있습니다. MySQL 커뮤니티 버전이 아닌 MariaDB 오픈소스도 MySQL과 사용법은 비슷하지만 JPA 연결 시 드라이버(driver) 설정이 다릅니다. 오늘은 각각 많이 사용하는 MySQL과 MariaDB의 연결 설정에 대해서 알아보겠습니다. MVN Repository 사용시 이미 만들어진 프로젝트에 드라이버와 JPA를 설치하려면 MVN 레파지토리 사이트에서 검색한 후에 그래들 파일에 추가하는 것이 편리합니다. ▼ 우선 https://mvnrepository.com 사이트에서 필요한 드라이버를 검색해보겠습니다. 검..
Lombok lombok은 Java의 라이브러리 중 하나로 반복되는 메서드를 자동으로 만들어주는 라이브 러리입니다. 엔티티나 DTO 같은 모델에서 Getter, Setter, 생성자를 만들 때 발생되는 귀찮은 작업을 모두 처리해줍니다. 하지만 테스트 환경에서는 Lombok을 사용할 수 없습니다. 그래서 그래들에 다음 코드를 추가한 뒤에 그래들을 다시 빌드합니다. ▼ 그래들에 해당 코드를 추가해줍니다. ▼ 아이콘을 눌러서 다시 빌드합니다.
인텔리제이를 사용해 스프링 프로젝트 작업을 할 때 Jar 파일을 만든 법은 아주 간단합니다. 별도로 java -jar 명령을 통해 실행시킬 수 있으며 인텔리제이에서 보던 로그도 동일하게 출력되는 것을 확인할 수 있습니다. 물론 브라우저에서도 동일하게 애플리케이션을 실행할 수 있습니다. 단지 실행에 문제가 있다면 프로젝트 개발에 사용되었던 JDK와 컴퓨터 실행환경의 JDK 버전이 달라서일 수 있습니다. 그럼 간단하게 JAR 파일을 만드는 법을 알아보겠습니다. ▼ 우측 상단에 그래들(Gradle) 탭을 열어줍니다. 그리고 bootJar라는 그래들 명령을 더블클릭해서 실행해줍니다. ▼ 빌드가 되는 것을 확인할 수 있습니다. Run 화면에서 Successful 이 뜨면 build 폴더를 확인합니다. ▼ 프로젝트..
스프링 부트란? 스프링부트(Spring Boot)는 자바 기반의 웹 어플리케이션 프레임워크인 스프링(Spring) 프레임워크 프로젝트를 좀 더 손쉽게 사용할 수 있도록 만든 도구라고 할 수 있습니다. 사실 웹 개발자가 아니라면 이전에는 스프링을 배우기가 굉장히 까다로웠습니다. 사실 자바 개발자들의 편의를 위해서 나온 프레임워크이긴 하지만 시간이 지날수록 다양한 기능과 설정들이 더해지면서 일반 개발자들이 접근하기는 러닝 커브가 꽤 있는 편이었죠. 하지만 지금은 스프링 부트 프로젝트로 인해서 많은 사람들이 스프링 부트로 개발을 하고 있습니다. 왜 스프링 부트인가? 국내 대부분의 대형 백엔드 프로젝트는 스프링(Spring)을 사용합니다. 자바스크립트(Javascript)나 파이썬(Python) 또는 루비(Ru..