진짜 개발자
본문 바로가기

FrameWork/Spring Boot

SpringBoot - SpringBoot로 웹 개발하기 - 1(프로젝트 생성)

728x90
SpringBoot로 간단한 웹 개발하기 첫 포스팅입니다

SpringBoot로 간단한 웹 개발하기 첫 포스팅입니다. 이 글은 이동욱님의 SpringBoot로 웹 서비스 출시하기를 참고하여 포스팅하는 글입니다.https://jojoldu.tistory.com/250 굳이 잘 정리 되어있는 글을 왜 똥손으로 다시 포스팅을 하냐고 하신다면. 복습과 제가 이해한 방식 그대로 다시 정리하기 위해서 입니다. 그래야 저는 더 오래 기억에 남더군요. 추가적으로 좋은 글 포스팅해주신 이동욱님에게 감사드립니다.

 

 

 

1. 개발 환경

IDE

- Intelli J (Ultimate)

Eclipse와 Intelli J 를 둘다 써봤고, 그중 Intelli J 를 선택한 이유는 우선 인터페이스가 저에게 잘 맞는것 같습니다...? 뿐만아니라 여러 플러그인들에 의해 써드파티 앱들과의 연동이 자유롭고, 무엇보다 자동완성 기능 및 프로젝트 생성시 편리함 등등.. 너무 많은 이유에서입니다.

 

Framework

- SpringBoot

SpringBoot는 아시다시피 Spring framework 기반의 web MVC를 좀더 빠르고 간편하게 개발할 수 있도록 기본 설정들에 추가적으로 여러 설정들을 추가한 형태입니다. Spring 공부를 조금이나마 진행한 시점에서 이전에 원리들을 모르고 SpringBoot를 사용했을때 느끼지 못했던 편리함들을 다시끔 느껴보고자 선택했습니다.

 

Language

- Java 1.8

..

 

BuildTool

- Gradle

maven을 사용하지 않고 gradle을 선택했습니다. 저는 maven 보다 gradle을 더 먼저 사용했었는데요. Spring 공부를 하며 maven을 사용해본 결과 gradle을 사용하자는 결론을 내렸습니다. 이유는.. 둘다 사용해보시면 아실수 있습니다.. Gradle에 대한 조금의 설명은 제 블로그의 gradle 포스팅들을 참고하시면 좋을 것 같습니다.

https://galid1.tistory.com/195

 

 

 

2. 프로젝트 생성

Intelli J 에서는 SpringBoot 프로젝트를 편리하게 생성할 수 있습니다. 위 그림과 같이 Spring Initializr 를 선택하고 다음으로 진행합니다.

 

고유한 group, artifact 를 입력하고, Type 에는 꼭! Gradle Project를 선택합니다.

 

그 후 의존성 설정을 해주는 화면이 나타나는데요, Core 에서는 Lombok을 , Web 에서는 Web, SQL에서는 JPA, H2, 그리고 Ops에서는 Actuator를 선택합니다. 각각을 간단히 설명드리겠습니다.

Lombok

DTO, VO, Entity 등 뿐만아니라 Java class 반복적으로 작성되는 내용인 toString(), getter, setter, constructor, hashCode, equals 등을 자동으로 생성해주는 기능을 가진 라이브러리입니다. 자세한 내용은 이전 포스팅을 참고해주세요. (https://galid1.tistory.com/531)

 

Web

SpringBoot로 MVC 웹을 개발하기 위한 기초 의존성들을 자동으로 등록해주는 의존성입니다.

 

Jpa

자바진영의 ORM기술 표준으로, 객체지향 언어인 JAVA와 관계형 언어인 RDB의 차이를 해결해주고 여러 DB관련한 기능들을 제공해줍니다. 또한 자동으로 CRUD를 생성해주기 때문에 개발자가 비지니스 로직에만 집중할 수 있도록 도와줍니다. 정말편리하기 때문에 꼭 사용하시면 좋겠습니다.

 

H2

자바 기반의 오픈소스 RDBMS입니다. 별도의 설치과정이 없고 가벼워 테스트용으로 자주 사용됩니다.

 

Actuator

모니터링 도구입니다. 저도 아직까지 사용해본적이 없으므로 다른 글들을 참고하시는게 좋을 것 같습니다. 공부하며 추가적으로 익힌 내용들을 앞으로의 포스팅 안에서 다루겠습니다.

 

 

 

3. GitHub 연동

방금 생성한 Project와 Github를 연동하도록 하겠습니다.

 

3.1 Git, SourceTree

우선 Local에서 Git을 좀더 편리하게 사용할 수 있도록 SourceTree라는 것을 설치하고 우리의 프로젝트와 연동하겠습니다.

 

Git,그리고 SourceTree가 설치되어있다고 가정하고 진행하겠습니다.

 

우선 Intellij 에서 Alt + F12 를 입력하면 다음과 같이 터미널 화면이 나타납니다. 여기서 git init 명령어를 입력한다면, 우리가 생성한 프로젝트를 git 프로젝트화 할 수 있습니다.

 

그 후 SourceTree를 켜고 Local 탭을 클릭한 뒤 앞서 생성한 프로젝트자체를 드래그&드롭 하면 연결이 완료됩니다.

 

 

3.2 Github와 연동

Git Repository 생성

github에 접속하여 프로젝트를 생성합니다.

 

GitHub Repository와 SourceTree 연동

SourceTree 의 상단 저장소탭을 클릭한 뒤 저장소 설정을 클릭합니다.

 

추가를 클릭합니다.

 

원격이름, url, 사용자명을 Github에서 생성한 repository를 참고하여 적절히 입력해줍니다.

 

Commit & Push

처음 연동시에는 당연히 파일들이 unstaged 상태입니다. 즉 add를 하지 않았다는 상태입니다. 모두 스테이지에 올리기를 클릭합니다.

 

위와 같이 모든 파일들이 staged 상태가 됩니다. 그 후 commit을 위해 하단에 commit message를 입력한 후 우측 하단의 커밋을 클릭합니다.

 

commit이 되었다면 push를 해야겠죠? 상단의 Push를 클릭하면 다음과 같은 화면이 나타납니다. 앞서 설정한 remote 저장소로 push가 됩니다. push할 브랜치를 체크한 뒤 push를 클릭합니다.

 

다시 GitHub 페이지에서 f5(새로고침)을 클릭하면 성공적으로 project가 push된 것을 확인할 수 있습니다.