Spring Boot

[게시판 만들기 (1)] SpringBoot + jpa + mysql 개발 환경 설정

서윤-정 2024. 1. 12. 14:24

 

SpringBoot + jpa + mysql 을 활용하여 게시판을 만드는 작은 프로젝트를 진행할 것이다. 

 

강의는 유튜브 코딩레시피님의 강좌를 참고했다.

https://www.youtube.com/watch?v=YshcPPHClR4&list=PLV9zd3otBRt7jmXvwCkmvJ8dH5tR_20c0&index=1

 

 

그분의 깃허브도 참고했다.

https://github.com/codingrecipe1/board

 

GitHub - codingrecipe1/board: Spring Boot Board Project 입니다.

Spring Boot Board Project 입니다. . Contribute to codingrecipe1/board development by creating an account on GitHub.

github.com

 

 

 

 

 

 

 

 

 

 

 

 

 

먼저 https://start.spring.io/ 에서 하고자 하는 프로젝트를 선택 후 다운 받는다.

Dependencies로는 

Sprign Web, Thymeleaf, Lombok, Spring Data JPA, MySQL Driver을 선택했다. 

 

 

 

다운 받은 후 압축된 zip 파일을 풀고 내가 지정하고 싶은 파일로 이동한다. 

나는 'SpringBootStudy > SpringBootBoard' 폴더 안에 넣었다.

 

 

 

 

이제 인텔리제이로 이동한다. 

인텔리제이 첫 화면의 'Open' 을 클릭한다. 

다른 프로젝트가 열려있으면 file -> close project

 

 

 

요런 창이 뜨는데 아까 다운받은 파일을 넣어놨던 폴더로 들어가

'build.gradle' 을 선택한다. 

 

 

 

 

 

프로젝트가 열리면 

src > main > resources 폴더에 있는 application.properties 파일을 삭제 후 application.yml 파일을 새로 생성한다.

 

 

 

[ application.yml ] 파일이다. 

 

 

 

 

이 파일을 설정하기 전에 먼저 Dbeaver에 들어가서 mysql 설정을 해주었다.

난 workbench보다 Dbeaver가 더 편한 것 같아서 이걸로 했다. 

그런데 난 디비버에서 오라클만 해봤어서 좀 해맸다..

https://dbeaver.io/ 에서 다운 받으면 된다. 

 

 

 

 

 

mysql을 선택한 후 Connection Settings을 해준다.

mysql을 처음 설치할 때 만들었던 username과 password를 입력했다.

 

 

 

 

 

입력 후 'Test Connection'을 클릭하면 Connected 성공 유무가 나온다.

확인 후 완료 버튼 누르기.

 

 

 

머 파일 받으라고 팝업창이 뜨는데 다운 받으면 된다.

생성 후 데이터베이스도 만들어 주었다. 

 

 

 

 

다시 application.yml로 돌아가서

url엔 자기 데이터베이스를 입력하고 

url: jdbc:mysql://localhost:3306/{자기 디비}?serverTimezone=Asia/Seoul&characterEncoding=UTF-8

username과 password는 아까 봤던 이름과 비번을 입력한다.

# 서버 포트 설정
server:
  port: 8092

# database 연동 설정
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/db_SpringBootBoard?serverTimezone=Asia/Seoul&characterEncoding=UTF-8
    username: root
    password: root
  thymeleaf:
    cache: false

  # spring data jpa 설정
  jpa:
    database-platform: org.hibernate.dialect.MySQLDialect
    open-in-view: false
    show-sql: true
    hibernate:
      ddl-auto: create

 

 

 

 

아, 그리고 이게 필요한건지는 모르겠는데...

인텔리제이에서 우측 데이터베이스를 클릭해서 

 

 

이렇게 비슷하게 또 설정했다. 

 

 

 

 

[build.gradle] 파일이다.

스프링부트 애플리케이션을 빌드하고 실행하기 위한 설정을 제공한다.

plugins {
	id 'java'
	id 'org.springframework.boot' version '3.2.1'
	id 'io.spring.dependency-management' version '1.1.4'
}

group = 'test'
version = '0.0.1-SNAPSHOT'

java {
	sourceCompatibility = '17'
}

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	compileOnly 'org.projectlombok:lombok'
	runtimeOnly 'com.mysql:mysql-connector-j'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

tasks.named('test') {
	useJUnitPlatform()
}

 

 

 

 

이제 설정은 끝난 것 같다.

'scr > main > java > test > SpringBootBoard' 폴더에 있는 SpringBootBoardApplication 파일의

SpringBootBoardApplication 클래스를 실행시킨다.

 

 

 

실행 후 localhost:8092로 이동하면 오류창이 뜨는데 이러면 성공.

사진은 인프런 김영한님 강의에서 캡쳐

 

 

 

 

 

 

 


 

이게 뭐라고 몇 시간 걸렸다.

.·´¯`(>▂<)´¯`·. 

인텔리제이도 처음 써보고 스프링부트도 처음 써보니 낯설다..

mysql도 처음 연동시키다 보니 자잘한 오류도 많이 났다.