SpringBoot + jpa + mysql 을 활용하여 게시판을 만드는 작은 프로젝트를 진행할 것이다.
강의는 유튜브 코딩레시피님의 강좌를 참고했다.
https://www.youtube.com/watch?v=YshcPPHClR4&list=PLV9zd3otBRt7jmXvwCkmvJ8dH5tR_20c0&index=1
그분의 깃허브도 참고했다.
https://github.com/codingrecipe1/board
먼저 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도 처음 연동시키다 보니 자잘한 오류도 많이 났다.
'Spring Boot' 카테고리의 다른 글
[게시판 만들기 (3)] 게시글 작성_게시글 작성 완료 (0) | 2024.01.13 |
---|---|
[게시판 만들기 (2)] 게시글 작성_작성 페이지 이동하기 (0) | 2024.01.12 |
[스프링 입문] (5) 회원 관리 예제 - 웹 MVC 개발 (0) | 2024.01.10 |
[스프링 입문] (4) 스프링 빈과 의존관계 (0) | 2024.01.10 |
[스프링 입문] (2) 스프링 웹 개발 기초 (0) | 2024.01.02 |