안녕하세요! 각성한 데브키라입니다. 오늘은 Spring Boot를 활용한 웹 개발의 첫걸음인 Spring Initializr에 대해 알아보겠습니다. Spring Boot는 간편하고 빠른 설정으로 효율적인 애플리케이션 개발을 가능하게 해주며, Spring Initializr는 이러한 개발 과정을 시작하는 데 있어 매우 유용한 도구입니다. 이번 포스팅에서는 Spring Initializr의 주요 기능과 설정, 효율적인 사용 방법을 자세히 소개해 드리겠습니다. 특히 Gradle, Lombok, 그리고 데이터베이스 드라이버 등의 의존성을 설정하는 팁도 함께 제공할 예정이니 끝까지 확인해 보세요!
1. SPRING INITIALIZR(스프링 프로젝트 시작)
Project: Spring Boot를 빌드하고 배포하는 방식입니다. 현재는 Gradle을 사용하여 프로젝트를 생성하는 추세입니다.
Language: 사용하고자 하는 언어를 선택하면 됩니다. 일반적으로 Java가 사용됩니다.
Spring Boot: 버전을 선택해야 합니다. SNAPSHOT은 데모 버전이므로, 높은 버전은 높은 Java 버전을 필요로 합니다. 따라서 SNAPSHOT이 없는 낮은 버전을 선택하는 것이 좋습니다.
Group: 기업 도메인명
Artifact: 빌드 결과물의 이름
Name: 프로젝트명 (일반적으로 Artifact와 동일하게 사용됩니다.)
Description: 프로젝트에 대한 설명
Package name: 패키지 이름 (Group과 Artifact를 설정하면 자동으로 생성됩니다.)
Packaging: 기본적으로 .jar 형식입니다. (Spring Framework와 Model2는 .war 형식을 사용합니다.)
이와 같은 설정을 통해 Spring Boot 프로젝트를 효율적으로 생성하고 관리할 수 있습니다.
Web
Spring Web: RESTful 애플리케이션을 구축하기 위한 기본 웹 기능을 제공합니다. (기본적으로 내장 Tomcat 포함)
SQL
MySQL Driver: MySQL용 JDBC 드라이버
Oracle Driver: Oracle 데이터베이스 접근용 JDBC 드라이버
MariaDB Driver: MariaDB용 JDBC 및 R2DBC 드라이버
PostgreSQL Driver: PostgreSQL 데이터베이스 연결을 위한 JDBC 및 R2DBC 드라이버
Developer Tools
Lombok: 반복적인 코드를 줄이기 위한 Java 애노테이션 라이브러리
Spring Configuration Processor: application.properties 및 .yml 파일에 대한 코드 완성 및 문맥적 도움 제공
Spring Boot DevTools: 빠른 애플리케이션 재시작, LiveReload, 개발 환경 최적화 지원
Template Engines
Thymeleaf: 서버사이드 HTML 렌더링을 지원하는 현대적인 템플릿 엔진
Persistence Framework
MyBatis Framework: SQL 기반의 데이터 접근과 매핑을 지원하며, XML 또는 애노테이션을 통한 SQL 쿼리 작성 가능
2. 이클립스 다운로드
https://www.eclipse.org/downloads/
JDK Development Kit 21.0.5 downloads
자바 설치 x64 Installer
https://www.oracle.com/java/technologies/downloads/#jdk21-windows
Gradle 프로젝트의 경우 Existing Projects into Workspace가 아닌 Import Gradle Project를 사용하는 것이 좋습니다. 다음 단계에 따라 시도해 보세요.
Import 선택: Eclipse에서 File > Import...를 선택합니다.
Gradle Project: Gradle 아래에 있는 Existing Gradle Project를 선택하고 Next를 클릭합니다.
프로젝트 디렉토리 선택: 프로젝트를 저장한 폴더를 지정합니다.
Finish: 프로젝트 설정을 확인하고 Finish를 클릭합니다.
3. Lombok 설정 가이드
Lombok은 반복적인 코드를 줄여주는 매우 유용한 라이브러리입니다. 단순히 의존성을 추가하는 것만으로는 충분하지 않으며, 사용하려는 IDE와의 호환성을 설정해야 합니다. 아래 단계에 따라 Lombok을 설정해 보세요.
1. Lombok 의존성 추가
Spring Initializr를 통해 Lombok을 의존성에 포함합니다.
build.gradle 또는 pom.xml에 Lombok 의존성이 추가되어야 합니다.
Gradle
dependencies {
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
}
Maven
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.28</version>
<scope>provided</scope>
</dependency>
2. Lombok JAR 파일 실행
Lombok을 올바르게 설정하려면 Lombok JAR 파일을 실행하여 IDE 통합 설정을 완료해야 합니다.
롬복 jar파일 다운로드
롬복 jar파일을 다운로드후 cmd창을 열고 아래 명령어를 입력하면 롬복파일이 실행됩니다. 이때 이클립스실행파일의 경로를 지정해주면 됩니다.
java -jar lombok-{버전}.jar
Lombok JAR 파일 실행 후 설치 마법사가 열립니다.
- 설치 마법사에서 사용 중인 IDE를 선택합니다.
(예: IntelliJ IDEA, Eclipse 등) - Lombok을 IDE에 통합할 경로를 확인하고 Install/Update 버튼을 클릭합니다.
- 설치가 완료되면 IDE를 재시작합니다.
4. JDBC설정
MariaDB에 연결하기 위한 Spring Boot 설정을 application.properties 또는 application.yml 파일에 아래와 같이 추가할 수 있습니다. 주어진 MariaDB 정보에 맞게 설정을 작성했습니다.
1. build.gradle 의존성 추가
먼저 build.gradle 파일에 MariaDB JDBC 드라이버 의존성을 추가합니다.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.mariadb.jdbc:mariadb-java-client'
}
2. application.properties 파일 설정
MariaDB에 연결하기 위한 application.properties 설정을 src/main/resources 폴더에 추가하세요.
# 데이터베이스 연결 설정
spring.datasource.url=jdbc:mariadb://123.122.77.155:3306/mydb
spring.datasource.username=alphonse
spring.datasource.password=pas1234
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
# JPA 설정
spring.jpa.hibernate.ddl-auto=update # 스키마 자동 업데이트
spring.jpa.database-platform=org.hibernate.dialect.MariaDBDialect
# HikariCP 설정 (기본 커넥션 풀 설정)
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.maximum-pool-size=10
spring.datasource.hikari.idle-timeout=600000
3. application.yml 파일 설정 (선택 사항)
application.properties 대신 application.yml 파일을 사용하고 싶다면, 아래와 같이 설정할 수 있습니다:
spring:
datasource:
url: jdbc:mariadb://123.122.77.155:3306/mydb
username: alphonse
password: pas1234
driver-class-name: org.mariadb.jdbc.Driver
jpa:
hibernate:
ddl-auto: update
database-platform: org.hibernate.dialect.MariaDBDialect
datasource:
hikari:
connection-timeout: 30000
maximum-pool-size: 10
idle-timeout: 600000
Spring Boot는 현대적인 웹 개발에 필수적인 도구로 자리 잡았습니다. 그중에서도 Spring Initializr는 프로젝트를 간단하고 빠르게 시작할 수 있도록 도와주는 최고의 도구입니다. 이번 포스팅을 통해 프로젝트 설정부터 Lombok과 같은 개발 도구 활용 방법까지 자세히 알아보았습니다.
'JAVA' 카테고리의 다른 글
Springboot Project 03 - 스프링부트(Spring boot)throw new SilentExitException(); 디버그 해결방법 (1) | 2024.11.17 |
---|---|
Springboot Project 02 - 타임리프(Thymeleaf) 초기셋팅 (0) | 2024.11.17 |
Error: Spring Boot에서 커스텀 에러 페이지 설정하기 (1) | 2024.11.04 |
Error: Spring boot 500에러에 관하여 (0) | 2024.11.04 |
이클립스 최초 실행 후 다이나믹 웹프로젝트에서 html파일 출력하기 (2) | 2024.07.23 |