글 쓰게된 이유

퇴사하고 원하는 회사로 이직하기 전 부족한 부분을 공부하고 싶었는데 그중에 aws, gradle 그리고 JUnit를 궁금했는데 마침 이 책은 이 3가지를 경험할 수 있어서 너무 좋았다. 처음엔 저자권? 이런 것 때문에 책에 대한 내용을 쓰면 안되는 줄 알고 배운 부분만 코드위주로 올려야 겠다 생각했지만 이미 많은 글들이 올라와 있는 상태이길래 나의 생각과 같이 정리를 하면 굳이 책을 보지않고 중요한 부분만 이 글을 보고 다시 상기 시킬 수 있겠구나 라고 생각해 쓰게되었다.

 

스프링 부트와 AWS로 혼자 구현하는 웹 서비스

가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다.경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현합니다. JPA와 JUNIT 테스트, 그레이들, 머스테치, 스프링

book.naver.com

 

github practice Repository...

 

GitHub - whitewise95/JPA_JUnitTest_Gradle_Oauth2_Practice: 스프링 부트와 AWS로 구현하는 웹서비스 따라하기

스프링 부트와 AWS로 구현하는 웹서비스 따라하기. Contribute to whitewise95/JPA_JUnitTest_Gradle_Oauth2_Practice development by creating an account on GitHub.

github.com

01장 인텔리제이로 스프링부트 시작하기

1.4  그레이들 프로젝트를 스프링 부트 프로젝트로 변경하기 (기존 설정 + a) 


더보기

인텔리제이는 전 프로젝트에서 이미 사용을 해봐서 적당한? 사용법을 알고 있다. 그래서 1.4 장과 1.5장 부터 정리하였다.

책에는 dependencies {} 안에 implementation 이 compile로 되어있어서 에러가 발생했었다. 찾아보니 현재는 implementation 으로 변경된거같다. testCompile -> testImplementation ,  compile-> implementation 

buildscript {
    ext {
        springBootVersion = '2.1.9.RELEASE'
    }
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group 'org.example'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
    jcenter()
}

dependencies {
    implementation('org.springframework.boot:spring-boot-starter-web')
    testImplementation('org.springframework.boot:spring-boot-starter-test')
}

ext라는 키워드는 build.gradle에서 사용하는 전역변수를 생성하겠다는 의미인데, 여기서는 springBootBersion 전역변수로 생성하고 그 값을 '2.1.7.RELEASE'로 하겠다는 의미 입니다. 즉 spring-boot-gradle-plugin라는 스프링 부트 그레이들 플러그인 의 2.1.7.RELEASE를 의존성으로 받겠다는 의미입니다.

아래 사진처럼 인텔리제이의 좋은점은 gradle이나 maven이 변경되었을 때 오른쪽 상단에 새로고침이 표시가 된다.

 

1.5  인텔리제이에서 git과 github 사용하기


나의 프로젝트 소스를 gitHub에서 관리하고싶다면 인텔리제이에서 gitHub를 연동할 수 있다.

인텔리제이 단축키 윈도우에서는 ctrl + Shift + A 맥에서는 Comand + Shift + A를 사용해 Action검색창을 열어 share project pm github을 검색합니다. 

저는 한글로 되어있어서 이렇게 뜹니다.

해당 Action을 선택한 후 엔터를 누르면 깃허브 로그인 화면이 나옵니다. 본인 깃허브계정으로 로그인을 합니다. 그롬 다음과 같이 깃허브에 생성할 저장소 정보를 입력하는 화면이 나옵니다. share버튼을 클릭하면 깃허브 저장소와 동기화를 진행홥니다. 동기화 과정에서 커밋항목을 추가로할 것인지 묻는 안내문이 나올 수 있는데 처음에는 no를 선택!

깃에서 특정 파일 혹은 디렉토리를 관리 대상에서 제외할 때는 .gitignore 파일을 사용합니다. 이 파일 안에 기입된 내용들은 모드 깃에서 관리하지 않겠다는 것을 의미합니다.

인텔리제이에서는 이 .gitignore파일에 대한 기본적인 지원이 없습니다. 대신 플러그인에서 .gitignore를 지원하고 있습니다.

.itignore 플러그인에서 지원하는 기능들은 다음과 같습니다.

  • 파일 위치 자동완성
  • 이그노어 처리 여부확인
  • 다양한 이그노어 파일 지원

 ctrl + Shift + A 맥에서는 Comand + Shift + A를 사용해 Action 검색창을 열어 plugin을 검색합니다. Plugin Action을 선택면 팝업창이 열리고 marketplace 탭에서 .ignore를 검색해 설치합니다. 그리고 꼭 인텔리제이 다시시작해주세요

이그노어 파일을 생성해야합니다. 프로젝트 이름을 선택한 뒤, 마우스 오른쪽버튼을 눌러 new =>  생성 목록 아래에 .ingnore => gitignore file[Git] 을 선택하면  .gitignore 생성화면이 나옵니다. 바로 Generate버튼을 클릭해 파일을 생성합니다.

 파일 안에서 깃 체크 대상에서 제외하고 싶은 이름을 작성하면 됩니다. 인텔리제이에서 자동으로 생성되는 파일들을 모두 이그노어 처리하겠습니다. 

.gradle 

 .idea

이렇게 이그노어 처리된 것을 깃허브에도 반영해 보겠습니다. 깃 커밋 창을 열어 봅니다. ctrl + k , command + k  이 후 .gitignore 파일을 선택하고 메시지를 작성하였다면 commit 버튼을 클릭합니다. 바로 푸쉬도 하겠습니다. ctrl + shift + k , command + shift + k 누르면 푸시 화면이 나옵니다. push버튼을 클릭하면 반영된것을 확인 할 수 있습니다.

복사했습니다!