Spring Boot & MySQL

1.2. 개발 환경 설정

backend 따라쟁이 2024. 12. 22. 22:38

Spring Boot와 MySQL을 사용하여 애플리케이션을 개발하려면 기본적인 개발 환경을 설정해야 합니다. 이 섹션에서는 필요한 도구와 설정 방법을 단계별로 안내합니다. 초보자도 따라 할 수 있도록 자세히 설명하겠습니다.


2.1 필요한 도구 및 설치

Spring Boot와 MySQL 연동을 위해 다음 도구들이 필요합니다:

1. Java JDK

  • 필요 버전: Java 8 이상 (Spring Boot 3.x를 사용하는 경우 Java 17 이상 권장)
  • 설치 방법:
    1. Oracle 공식 사이트 또는 OpenJDK에서 Java JDK를 다운로드합니다.
    2. 설치 후 환경 변수를 설정합니다.
      • Windows: JAVA_HOME 변수에 JDK 설치 경로를 추가하고 PATH에 %JAVA_HOME%\bin을 추가합니다.
      • Mac/Linux: .bashrc 또는 .zshrc 파일에 export JAVA_HOME=/path/to/jdk와 export PATH=$JAVA_HOME/bin:$PATH를 추가합니다.
    3. 설치 확인:
      java -version

2. MySQL

  • 필요 버전: MySQL 5.7 이상
  • 설치 방법:
    1. MySQL 다운로드 페이지에서 설치 파일을 다운로드합니다.
    2. 설치 과정에서 루트 사용자(root)의 비밀번호를 설정합니다.
    3. MySQL 실행 확인:
      mysql -u root -p
    4. 데이터베이스 생성:
      CREATE DATABASE my_database;

3. IDE (통합 개발 환경)

4. Maven 또는 Gradle

  • Spring Boot 프로젝트 빌드 도구로 Maven이나 Gradle 중 하나를 사용합니다.
    • 기본적으로 Maven을 사용할 것을 권장합니다.

 

2.2 Spring Boot 프로젝트 생성

Spring Boot 프로젝트를 생성하는 방법은 두 가지입니다: Spring Initializr를 사용하는 방법과 IDE 내부에서 생성하는 방법입니다.

1. Spring Initializr를 이용한 생성

  1. Spring Initializr 웹사이트 접속: Spring Initializr
    (그림) Spring Initializr
  2. 프로젝트 설정:
    • Project: Maven 또는 Gradle
    • Language: Java
    • Spring Boot Version: 최신 안정 버전 선택 (예: 3.1.0)
    • Dependencies:
      • Spring Web
      • Spring JDBC
      • MySQL Driver
    • Packaging: Jar
    • Java Version: JDK 버전에 맞게 선택 (예: 17)
  3. Generate 버튼 클릭: 설정 완료 후 프로젝트를 다운로드합니다.
  4. 다운로드한 프로젝트를 IDE에서 열고 필요한 의존성을 자동으로 다운로드합니다.

2. IDE를 통한 생성

  1. Eclipse 또는 IntelliJ IDEA에서 새 Maven 프로젝트를 생성합니다.
  2. pom.xml 파일에 다음 의존성을 추가합니다:
  3. Maven을 업데이트하여 의존성을 다운로드합니다:
    • Eclipse: Right-click on the project > Maven > Update Project
    • IntelliJ: File > Sync 

2.3 application.properties 설정

Spring Boot 애플리케이션이 MySQL 데이터베이스와 통신하려면 application.properties 파일을 설정해야 합니다.

설정 예제:

src/main/resources/application.properties 파일을 열고 다음 내용을 추가합니다:

 
# 데이터베이스 연결 설정
spring.datasource.url=jdbc:mysql://localhost:3306/my_database
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# Hibernate 설정
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

# UTF-8 설정 (한글 깨짐 방지)
spring.datasource.hikari.connection-init-sql=SET NAMES utf8mb4

설정 설명:

  • spring.datasource.url: MySQL 서버의 주소와 사용할 데이터베이스 이름.
  • spring.datasource.username / spring.datasource.password: MySQL 사용자 정보.
  • spring.jpa.hibernate.ddl-auto: 테이블 생성 정책 (update, create, validate, none 중 선택).
  • spring.jpa.show-sql: 실행되는 SQL 쿼리를 콘솔에 출력.
  • UTF-8 설정: MySQL의 한글 처리 문제를 해결하기 위해 사용.

2.4 한글 깨짐 문제 해결

application.properties에서 UTF-8 설정을 추가하는 것 외에도, MySQL의 기본 인코딩을 확인하고 변경해야 합니다.

MySQL UTF-8 설정

  1. MySQL 설정 파일 열기:
    • Windows: my.ini
    • Mac/Linux: /etc/my.cnf
  2. 다음 내용을 추가 또는 수정:
     
    [mysqld]
    character-set-server=utf8mb4
    collation-server=utf8mb4_general_ci

    [client]
    default-character-set=utf8mb4
  3. MySQL 재시작:
     
    sudo service mysql restart
  4. 데이터베이스의 인코딩 확인:
     
    SHOW VARIABLES LIKE 'character_set%';

2.5 프로젝트 실행 확인

  1. Spring Boot 애플리케이션 실행:
    • Eclipse: Run > Run As > Spring Boot App
    • IntelliJ: Run > Run 'Application'
  2. 실행 로그에 아래 메시지가 표시되면 성공적으로 설정된 것입니다:
     
    Tomcat started on port(s): 8080

결론

이 섹션에서는 개발 환경을 설정하는 데 필요한 모든 단계를 다뤘습니다:

  1. JDK와 MySQL 설치 및 설정.
  2. Spring Boot 프로젝트 생성 및 의존성 추가.
  3. application.properties 파일을 통해 MySQL 연동 설정.
  4. 한글 깨짐 문제를 해결하기 위한 UTF-8 설정.

다음 섹션에서는 JDBC를 사용하여 MySQL 데이터베이스와 상호작용하는 방법을 알아보겠습니다.