Social Media Project - 3. 프로젝트 세팅

작성:

Social Media Project - 3. 프로젝트 세팅

작업 내용 커밋 링크

스프링 부트 프로젝트 모듈 추가

1_add_boot

2_add_boot

  • 처음엔 깃허브에서 프로젝트를 생성해서 클론 해왔다. frontend, backend라는 폴더로 나누어서 작업할 예정
  • backend라는 폴더를 만들어서 그 안에 socialmedia 라는 이름으로 스프링 부트 프로젝트를 추가함
  • JDK 17 사용
  • Spring Boot 2.6.7


3_run

  • 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 스키마를 만들었다.

5_mysql

  1. + 버튼을 누르면 새로운 커넥션을 맺을 수 있다. 2번 화면이 나타난다.
  2. connection name에는 본인이 알아볼 수 있는, 원하는 이름을 설정한다. Username과 Password가 연결을 맺을 때 사용하는 부분이다. 여기에 MySQL 유저 이름과 비밀번호를 입력해서 연결한다.
  3. 2번의 OK 버튼을 누르면 3번 화면과 같이 된다. 해당 판을 누른 후 스키마를 만든다.
  4. 스키마를 만드는 화면이다. 이모지도 잘 사용하고 싶어서 utf8mb4를 선택했다.


application.yml 설정

  • application.properties 대신 application.yml 을 사용하기 위해 해당 파일을 지우고 yml 파일을 만들었다.

4_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를 찾아 클릭한다.

6_run_config

    2 - Run/Debug Configurations 창에서 Modify options -> Environment variables를 검색한다.

7_run_config

    3 - {사용할 변수명}={변수 값}; 과 같은 형태로 세미콜론(;)으로 구분하여 입력한다.

8_run_config


  • 이제 어플리케이션을 실행해보면 다음과 같은 로그가 뜨면서 정상 작동한다.
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 파일을 생성한다.

9_git_ignore

    2 - .gitignore 에 다음과 같이 작성한다.

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

    3 - 몇 분 기다리면 .idea 폴더의 색깔이 어두운 노란색(#727238)으로 바뀌며 git에 추적이 되지 않는다.

10_git_ignore


develop 브랜치 사용

11_git_branch

  1. 원격 저장소(origin)의 master 브랜치에서 새로운 브랜치를 만든다. 새로운 브랜치의 이름은 develop으로 한다.
  2. 로컬 저장소에 develop브랜치가 생긴 것을 볼 수 있다.
  3. 해당 브랜치를 우클릭해서 원격 저장소에 Push한다.
  4. 그러면 아래의 4번 그림처럼 원격 저장소(origin)에 새롭게 develop이라는 브랜치가 생기는 것을 볼 수 있다.

12_git_branch


default 브랜치 변경

  • 깃허브에서 원격 저장소에 들어가면 바로 볼 수 있는 default 브랜치를 바꿀 수 있다. Settings => Branches에서 가능하다.

13_default_branch





댓글남기기