Social Media Project - 3. 프로젝트 세팅
작성:
Social Media Project - 3. 프로젝트 세팅
스프링 부트 프로젝트 모듈 추가
- 처음엔 깃허브에서 프로젝트를 생성해서 클론 해왔다. frontend, backend라는 폴더로 나누어서 작업할 예정
- backend라는 폴더를 만들어서 그 안에 socialmedia 라는 이름으로 스프링 부트 프로젝트를 추가함
- JDK 17 사용
- Spring Boot 2.6.7
- Project JDK is not defined라는 메시지와 함께 SDK를 설치하라고 한다. 스프링 부트 모듈을 만들었을 때 설정한 17버전을 사용하자.
- 이 사진은 빨간 줄에서 option + enter를 누른 화면이다. 해당 단축키로 빨갛게 잡아내는 오류의 원인과 해결 방법을 알 수 있다.
- 어플리케이션을 동작하면 다음과 같은 오류를 만난다.
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
Process finished with exit code 1
- datasource로 MySQL을 선택했는데, 이 경우 커넥션 정보를 설정해야만 한다.
MySQL Connection 설정
MySQL 설정
- 우선 MySQL Workbench를 통해 MySQL 스키마를 만들었다.
+
버튼을 누르면 새로운 커넥션을 맺을 수 있다. 2번 화면이 나타난다.- connection name에는 본인이 알아볼 수 있는, 원하는 이름을 설정한다. Username과 Password가 연결을 맺을 때 사용하는 부분이다. 여기에 MySQL 유저 이름과 비밀번호를 입력해서 연결한다.
- 2번의 OK 버튼을 누르면 3번 화면과 같이 된다. 해당 판을 누른 후 스키마를 만든다.
- 스키마를 만드는 화면이다. 이모지도 잘 사용하고 싶어서 utf8mb4를 선택했다.
application.yml 설정
application.properties
대신application.yml
을 사용하기 위해 해당 파일을 지우고 yml 파일을 만들었다.
-
src/main/resources/application.yml
-
spring: jpa: hibernate: ddl-auto: create datasource: url: jdbc:mysql://${MYSQL_HOST:localhost}:3306/socialmedia username: ${MYSQL_USER} password: ${MYSQL_PASSWORD} driver-class-name: com.mysql.cj.jdbc.Driver
- git에는 db url, username, password와 같은 민감한 정보를 저장하지 않도록 하기 위해 환경변수를 사용했다.
-
환경변수 설정 방법
1 - 우측 상단의 어플리케이션을 실행하는 부분에서 Edit Configurations
를 찾아 클릭한다.
2 - Run/Debug Configurations
창에서 Modify options -> Environment variables를 검색한다.
3 - {사용할 변수명}={변수 값};
과 같은 형태로 세미콜론(;
)으로 구분하여 입력한다.
- 이제 어플리케이션을 실행해보면 다음과 같은 로그가 뜨면서 정상 작동한다.
2022-05-08 22:06:39.599 INFO 41737 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2022-05-08 22:06:39.606 INFO 41737 --- [ main] c.e.socialmedia.SocialmediaApplication : Started SocialmediaApplication in 1.941 seconds (JVM running for 2.375)
Git 설정
.idea를 .gitignore에 추가
1 - 최상위 폴더(Social-media)에 .gitignore
파일을 생성한다.
2 - .gitignore
에 다음과 같이 작성한다.
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
3 - 몇 분 기다리면 .idea
폴더의 색깔이 어두운 노란색(#727238
)으로 바뀌며 git에 추적이 되지 않는다.
develop 브랜치 사용
- 원격 저장소(origin)의 master 브랜치에서 새로운 브랜치를 만든다. 새로운 브랜치의 이름은 develop으로 한다.
- 로컬 저장소에 develop브랜치가 생긴 것을 볼 수 있다.
- 해당 브랜치를 우클릭해서 원격 저장소에 Push한다.
- 그러면 아래의 4번 그림처럼 원격 저장소(origin)에 새롭게 develop이라는 브랜치가 생기는 것을 볼 수 있다.
default 브랜치 변경
- 깃허브에서 원격 저장소에 들어가면 바로 볼 수 있는 default 브랜치를 바꿀 수 있다. Settings => Branches에서 가능하다.
댓글남기기