-
1장) IntelliJ로 스프링부트 시작하기Java & Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스 2020. 6. 26. 00:04반응형
인텔리제이 설치
- 원래 IntelliJ를 사용하고 있었으므로, 따로 정리하지 않음
프로젝트 생성
- 프로젝트 생성 -> Gradle 선택 (Gradle 프로젝트 생성)
- GroupID와 ArtifactId를 등록한다.
- ArtifactId는 프로젝트의 이름이 되기 때문에, 원하는 이름을 작성한다.
- 설정값은 기본 값으로 둔다.
- 디렉토리 위치 또한, 원하는 경로를 설정한다.
그레이들 프로젝트를 스프링 부트 프로젝트로 변경하기
gradle 파일을 연다.
plugins { id 'java' } group 'com.zin0.book' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' }
위와 같이 작성되어 있는 것을 볼 수 있다.
- 스프링 이니셜라이저(https://start.spring.io/)를%EB%A5%BC) 사용하면 쉽게 작성할 수 있지만, 책에서는 이를 사용하지 않고 직접 코드를 작성
- build.gradle의 코드가 무슨 역할을 하는지, 이니셜라이저 외에 추가로 의존성 추가가 필요하면 어떻게 해야하는지 모르는 상황을 방지하기 위해서.
프로젝트의 플러그인 의존성 관리 추가
buildscript { ext { springBootVersion = '2.1.7.RELEASE' } repositories { mavenCentral() jcenter() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } }
- ext - build.gradle에서 사용하는 전역변수를 설정
- 위의 코드는 springBootVersion의 값인 그레이들 플러그인의 2.1.7.RELEASE을 의존성으로 받겠다는 의미
- mavenCentral은 본인이 만든 라이버리를 업로드 하기 위해서는, 많은 과정과 설정을 거쳐야한다.
- 이러한 문제점을 개선하여 라이브러리 업로드를 간단하게 도와주는 jcenter가 등장함
- jcenter에 라이브러리를 업로드하면 mavenCetral에도 업로드될 수 있도록 자동화 가능
플러그인 적용
apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management'
- io.spring.dependency-management 플러그인은 스프링 부트의 의존성들을 관리해주는 플러그인 ( 꼭 추가해야함 )
- 위의 4개 플러그인은 자바와 스프링 부트를 사용하기 위한 필수 플러그인, 따라서 항상 추가하면 됨
나머지 코드
repositories { mavenCentral() } dependencies { compile('org.springframework.boot:spring-boot-starter-web') testCompile('org.springframework.boot:spring-boot-starter-test') }
- 의존성 compile 코드는 특정 버전을 명시하면 안된다. 그래야, 위에서 작성한 springBootVersion의 변수 값에 따라 버전을 따라가게 됨.
- 이렇게 관리하면, 각 라이브러리들의 버전 관리가 한 곳에 집중될 수 있고, 버전 충돌 문제도 해결
전체 코드
buildscript { ext { springBootVersion = '2.1.7.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 'com.zin0.book' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { compile('org.springframework.boot:spring-boot-starter-web') testCompile('org.springframework.boot:spring-boot-starter-test') }
- 코드를 다 작성하고 나면, 오른쪽 아래에 build.gradle 변경이 있으니 반영하라는 알람이 나온다. Enable Auto-import를 선택해줘서, 변경이 있을 때마다 자동으로 반영하도록 설정한다.
- 모두 받게 되면, gradle탭에서 main에는 spring-boot-start-web이, test에는 spring-boot-start-web, spring-boot-start-tests 의존성이 잘 받아진 것을 확인할 수 있다.
인텔리제이에서 깃과 깃허브 사용하기
평소에 Git bash를 사용하고 있지만, 유용한 것 같아서 책에 따라 진행해봤다.
윈도우 : [ Ctrl + Shift + A ], 맥 : [ Command + Shift + A ] 를 통해 검색창 단축키를 연다.
share project on Github을 검색한다.
ID와 Password를 입력하면, Repository name과 remote, description을 입력하는 창이 뜬다.
- 보통 프로젝트 이름과 깃 저장소 이름은 같게 쓰니까 그대로 등록한다.
Share 버튼을 클릭하면, 깃허브 저장소와 동기화를 진행한다.
- 이 때, 커밋 항목으로 추가할 것인지 묻는 안내문이 나오는데 No를 선택해준다.
- commit 팝업창이 뜨면, .gradle과 .idea는 비활성화해주고 커밋 메세지를 작성한다.
- OK 버튼을 누르면 commit과 push가 진행됨. (간편해서 너무 좋았다.)
.gitignore 추가하기
- 인텔리제이는 gitignore를 제공하지 않기 때문에, 플러그인을 이용해야한다.
- [Ctrl / Command + Shift + A] 를 통해 Action 검색창을 열어 plugins를 검색한다.
- Plugins Action을 선택하면 플러그인 설치 팝업창이 나온다.
- Marketplace에서 ignore를 검색하고 인스톨해준다.
- 인스톨 후 IntellJ 재부팅을 해줘야 반영됨.
- 프로젝트에 ignore 파일을 만들어서 .gradle과 .idea를 추가한다.
commit과 push
- Ctrl + k => 커밋 창
- Ctrl + Shift + k => 푸시 창
반응형'Java & Spring > 스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 카테고리의 다른 글
5장) 스프링 시큐리티와 OAuth2.0으로 로그인 기능 구현하기 (0) 2020.07.05 4장 ) 머스테치로 화면 구성하기 (0) 2020.07.01 3장) 스프링 부트에서 JPA로 데이터베이스 다뤄보자 (0) 2020.06.28 2장) 스프링 부트에서 테스트 코드를 작성하자 (2) 2020.06.27 정리에 앞서... (0) 2020.06.25