개발을 시작하기에 앞서 필요한 모든 준비과정을 진행한다.
개발 환경 설정부터 유용한 툴 설치 등.
사항 | 툴 |
OS | Windows : 집 데스크탑 Mac M1 : 노트북, 맥에어 |
언어 | Java 11 |
프레임워크 | Spring 2.7.8 |
IDE | IntelliJ |
데이터베이스 | MySQL MySQL Workbench |
API 테스팅 | Postman |
(선택) 깃허브 편리성 | Github Desktop |
문서관리 | Notion |
목차
3. Spring Initializer에서 베이스 프로젝트 생성
4. IntelliJ에서 프로젝트 폴더 오픈 후 Gradle 설치하기
7. IntelliJ 포토앨범 프로젝트 내 DB 접속 관련 설정하기
9. Github 설정 - Github Repository 사용
1. Java 11 설치하기
Java 8 vs. Java 11 비교
[Java] Java 8 vs Java 11
java-study에서 스터디를 진행하고 있습니다. Java란? Java는 썬 마이크로시스템즈의 제임스 고슬링과 다른 연구원들이 개발한 객체지향적 프로그래밍 언어이다. Java 언어의 특징 객체지향 언어이다.
steady-coding.tistory.com
지금까지 Java 8을 사용해와서 Java 11로 버전 변경을 해야 한다.
2. IDE IntelliJ 설치하기
IntelliJ vs. Eclipse 비교
[IDE] 이클립스 인텔리제이 장단점 비교(eclipse/IntelliJ)
[IDE] 이클립스 인텔리제이 장단점 비교(eclipse/intelliJ) 1. 이클립스(eclipse) 역사가 오래되어 잘 작성된 문서, 수 많은 플러그인들이 존재하며 가장 대중적으로 사용되고 있는 IDE이다. 가장 큰 강점
devuna.tistory.com
무료 버전인 Community Edition으로 설치
3. Spring Initializer에서 베이스 프로젝트 생성
현재(2023/02/10) 2.7.8 버전
Gradle - Groovy
Dependencies
- Spring Web
- Lombok
4. IntelliJ에서 프로젝트 폴더 오픈 후 Gradle 설치하기
Spring Initializer를 이용하여 생성한 프로젝트를 IntelliJ에서 열기
어 바로 에러야 ~
처음 Application을 실행하니까 위와 같은 문제가 발생함. Java 버전이 일치하지 않는 듯
build.gradle과 jdk 환경변수는 11로 동일하게 잡혀 있는데 무슨 문제일까?
> IntelliJ 껐다가 다시 키면 됨 ^^
바로 또 다른 에러
인텔리제이 Gradle JVM 설정이 프로젝트에 세팅된 내용하고 달라서 발생
위 사진의 좌하단을 보면 "Process ~ /Java/jdk1.8.0~"으로 Java 8 버전을 잡고 있다.
- File > Settings > 좌상단 gradle 검색
- File > Product Structure > Project > SDK
두 경로에서 버전을 확인해 볼 것. 본인은 2번 경로에서 jdk1.8.0 이 잡혀 있는 걸 확인했고 수정하였다.
정상동작
5. MySQL 설치하기
이미 존재하기에 넘어감
6. MySQL Workbench 설치하기
local 커넥션 생성
DB Schema 생성
- photo_album
7. IntelliJ 포토앨범 프로젝트 내 DB 접속 관련 설정하기
1) Dependency 설치 - JPA 관련
- build.gradle 파일 안에 dependency 추가하고
- 오른쪽 위 코끼리 아이콘을 눌러 해당 library들을 다운받아 설치
dependencies {
...
// JPA 관련
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'com.mysql:mysql-connector-j'
implementation 'org.hibernate:hibernate-search:5.11.1.Final'
}
2) application.properties에 DB접속 정보 관련 내용 추가
- src/main/resources/application.properties 내에 MySQL 접속정보를 추가해야 프로젝트에서 DB와 연결
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/photo_album
spring.datasource.username=root
spring.datasource.password=<위에서 저장해둔 Root Password 입력>
spring.jpa.hibernate.ddl-auto=update
spring.jpa.generate-ddl=true
spring.jpa.show-sql=true
- spring.datasource.url=jdbc:mysql://localhost:3306/photo_album
> photo_album 스키마를 사용한다 - spring.jpa.hibernate.ddl-auto=update
update : 기존의 스키마를 유지하며 JPA에 의해 변경되 부분만 추가한다.
validate : 엔티티와 테이블이 정상적으로 매핑되어 있는지만 검증한다.
create : 기존에 존재하는 스키마를 삭제하고 새로 생성한다.
create-drop : 스키마를 생성하고 애플리케이션이 종료될 때 삭제한다.
none : 초기화 동작을 하지 않는다. - spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto 속성을 사용할지 말지를 결정하는 옵션으로 기본값으 false이다.
그래서 JPA에 의한 자동 초기화 기능을 사용하려면 true로 바꾸고 사용한다. - spring.jpa.show-sql=true
JPA가 생성한 SQL문을 보여준다.
3) API를 재실행하여 설정이 잘 됐는지 확인
8. Postman 설치
API 테스팅에 최적화된 툴이다.
9. Github 설정
Github Repository 다운로드
- 깃허브 작동을 편리하게 해주는 툴이다.
프로젝트 폴더 Repository 세팅하기
- 프로젝트에 github repository를 만들어서 github으로 프로젝트를 관리
- 커밋은 작은 것을 완료할 때마다 한 번씩 진행 -> 히스토리 파악에 좋음, 복원할 때 정확한 시점 선택할 수 있음
- File → Add Local Repository 선택
- Local Path 선택시 ~ create a repository ~ 경고가 나오면 클릭
- Git Ignore → Java 선택 → Create Repository
- IntelliJ → .gitignore파일에 아래 항목 추가
.gradle, build, .idea - update gitignore 커밋 메시지를 세팅 후 → Commit to main 클릭
- 상단에 Publish repository 클릭
- 깃허브 내 프로젝트명 정하고 Publish Repository 클릭
#etc
.gradle
build
.idea
10. Notion 계정 생성
포토앨범 API 템플릿 → API 문서 작업용
11. DB 설계 툴 Lucidchart
루시드차트를 사용하여 관계형 DB 설계
Reference
스프링 부트 - 데이터베이스 초기화 - kwon | kwon's Blog
스프링 부트 - 데이터베이스 초기화 JPA를 사용한 데이터베이스 초기화 appication.properties123456789101112spring.datasource.driverClassName=org.mariadb.jdbc.Driverspring.datasource.url=jdbc:mariadb://localhost:3307/springbootspring.
kyu9341.github.io
'프로젝트 > 포토앨범' 카테고리의 다른 글
[프로젝트][포토앨범] 진행상황 (0) | 2023.02.25 |
---|---|
[프로젝트][포토앨범] 5. API Documentation 작성하기 (1) (0) | 2023.02.18 |
[프로젝트][포토앨범] 1. 프로젝트 개요 (0) | 2023.02.09 |