Search
Duplicate
🐸

1. 스프링부트 & AWS 웹서비스 만들기: Hello World!

간단소개
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
Spring
Scrap
태그
튜토리얼
9 more properties
팔만코딩경에 spring에 관한 포스팅이 하나도 없어 슬픈 카뎃이다. 스프링은 거의 대부분의 대기업에서 사용하는 프레임워크로써 상당히 중요하고 현재는 스프링부트가 나와 다른 언어들의 프레임워크에 비해서 전혀 어렵지 않다.(사실 나는 다른 프레임워크를 잘몰라서 모른다.) 여튼 그렇다고 저자가 설명한다.
책을 사는 병에 걸린 나는 이 책을 살 수 밖에 없었다. 왜냐하면 이동욱씨는 나의 롤모델 중 한명이기 때문이다.
상당히 멋진 아재(?)이다. 개발바닥이라는 개발채널도 운영하고 있으니 마음에 든다면 구독하길 바란다. 좋은 이야기를 많이해주고 있다. 여튼 각설하고 이 사람이 쓴책이다. 저자는 점점 간단한 프레임워크에 치중되어서 들어오는 신입들이 안타깝다고 말하고있다. 왜냐하면 만드는 재미가 있으니까... 그러한 언어들의 자료들이 많아지고 스프링의 자료들은 대부분 개념을 설명하는 자료로 구성되어있어서 만드는 재미가 떨어지고 있다. 하지만, 서비스가 커질 수록 자바와 스프링의 중요성이 강조된다고 한다. 작은 기능들은 그러한 간단한 프레임워크가 문제없겠지만 커진다면 이야기는 달라진다. 그리하여 흔히 말하는 대기업(네카라쿠배, 삼성 등)은 전부 자바와 스프링을 사용한다는 말을하고 있다. 이 책은 철저히 만드는 재미를 위해 쓰여져있다. 따라서 나도 만드는 부분만을 차용해서 포스팅 할 생각이고 이론적인 배경은 다른 책을 포스팅하게 되면 그때 시작하려고 한다.

IDE는 역시 Intellij

Java를 사용하는 사람이라면 이클립스나 인텔리제이를 사용할 것이다. 저자는 무조건적으로 인텔리제이를 권하고 있다. 많은 회사들이 이클립스에서 인텔리제이로 넘어오고 실제로 인텔리제이가 조금더 편하다는 이유다. 42서울의 카뎃은 인텔리제이 유료버전을 무료로 사용할 수 있다. 슬랙을 검색해보면 해당내용이 나온다.
인텔리제이 얼티밋을 다운받고 그래들 프로젝트를 생성하면서 알맞은 버전의 jdk와 세팅 build.gradle를 세팅하면 된다. 귀찮으면 gradl.build를 해당 레포에서 복제해서 사용하자.
우선 build.gradle에 대한 설명을 해보자!
buildscript { ext { springBootVersion = '2.1.9.RELEASE' } repositories { mavenCentral() jcenter() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } }
Java
복사
가장 앞에 있는 이 코드는 해당 프로젝트의 플러그인 의존성을 관리를 위한 설정이다. ext는 build.gradle의 전역변수를 설정하는 부분이고 스프링부트의 버전을 정했습니다. 해당 의존성들은 바로 밑의 코드들에서 적용 됩니다.
apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'org.springframework.boot' apply plugin: 'io.spring.dependency-management'
Java
복사
repositories{ mavenCentral() jcenter() } dependencies{ compile('org.springframework.boot:spring-boot-starter-web') compile('org.projectlombok:lombok') testCompile('org.springframework.boot:spring-boot-starter-test') }
Java
복사
레포는 라이브러리가 어디서 다운되는지를 정해주고 있다. 원래는 mavenCentral이 대세였지만 업로드의 어려움이 커지고 jcenter에서 해당 어려움을 해결해주고 jcenter에 업로드하면 mavenCentral에 자동으로 업로드 되는 기능을 구현해서 점차 이용자들이 두개를 사용하고 있다고 한다. dependencies는 우리가 필요한 라이브러리를 정의해주고 있다. 이렇게 라이브러리들을 관리해준다면 충돌 문제도 해결되고 버전관리도 수월하다.

깃과 깃허브 설정

.ignore 플러그인(인텔리제이 플러그인이다.)을 다운받고 .idea파일을 .gitignore에 등록해주면 git에 푸쉬할 준비가 끝난다. 단순히 아이디를 등록하면 푸쉬가 가능하고 커밋메세지도 등록이 가능하다. visual code를 사용해본 사람이라면 아주 편하게 사용할 수 있을것이다.