스프링부트 알아보기

김수정·2020년 7월 2일
0

스프링/스프링부트

목록 보기
2/11

원래 저는 프론트 개발만 해봤던 사람인데 이번 프로젝트에서 백엔드 개발을 진행하게 됐습니다.
Java 기본 언어를 생활코딩으로 간단하게 살펴보고, 스프링부트로 웹개발을 만들려고 하니 너무 생소한 용어들과 알 수 없는 영역이 많습니다. ㅠㅠ
하나씩 정리해가며 극복 해봐야겠습니다.

스프링부트란?

백엔드의 세계가 얼마나 광활한지 알지 못하지만 무지 복잡하다고 합니다. 그래서 스프링 프레임워크가 나왔지만 그래도 너무 복잡하여 기존 스프링을 더 간소화한 스프링부트가 나왔다고 하네요. 그래도 저한텐 너무나 복잡하게 느껴지겠지만...ㅋㅋ

모든 것의 기준인 공홈으로 가봤습니다.
스프링 종류만해도 어마무시하군요.. 메뉴에서 project>spring boot를 선택해 들어갑니다. 그 다음 learn 혹은 문서 아이콘 등 Documentation을 찾아봅시다.

Version designator

제가 보는 시점에서는 LEARN 탭을 누르면 확인할 수 있고, 옆에 버전명 옆에 표시들이 많더라구요. snapshot, GA 등등... 이들의 의미를 찾아봤습니다.

CURRENT
최신 버전임을 의미합니다. 새 프로젝트에 적용하게 되겠죠?

GA
General Availability. 일반인에게 공개된 버전으로 이 상태가 되면 내용이 번경되지 않습니다. 안정화 버전이라고 보면 되겠네요!

SNAPSHOT
최신 변경 사항을 포함하고 매일 빌드되어 이전 스냅샷을 대체합니다.

PRE
곧 출시 될 GA 버전의 기능을 테스트하는 단계. 동일한 버전의 이후 시험판에서 수정될 버그가 포함되어 있을 수 있습니다. 예를 들어 2.0.0 M1버전에 존재하는 버그는 2.0.0 M2에서 해결될 것입니다. M은 마일스톤(이정표)의 줄임말입니다.

스프링 부트로 웹프로젝트 생성하기

자바와 메이븐은 설치되어있다고 가정합니다.
인텔리J를 사용해서 웹프로젝트를 만들어보겠습니다. 회사에서 유료버전을 사용하기 때문에 그걸로 만들어보겠습니다.

1) 사용하려는 자바 버전을 선택하고 next
2) new create > Spring initializr를 누르면 아래와 같은 항목을 채우라고 합니다.

Group
프로젝트를 만든 조직 또는 그룹의 고유 식별자. 프로젝트의 주요 식별자 중하나이며 일반적으로 조직의 정규화 된 도메인 이름을 기반으로 합니다.
패키지 이름이 되기도 하는 것 같습니다.

Artifact
프로젝트의 고유 이름. 번들이 이 이름을 참조한다네요. jar, war같은 파일들.

version
우리 앱의 버전.

Name
프로젝트 이름.. artifact와 같음

Description
프로젝트 설명

Package
자바 언에서 말하는 그 패키지일 듯. 자바 파일의 구조! 인텔리제이에서는 group+name으로 자동 생성되는 듯 하다.

3) 설치할 dependency를 고릅니다.
각자 상황에 맞는 걸 고르시면 되지만, 웹서비스를 할거면 최소한 Web/Spring Web는 선택해야 합니다.

4) 파일 경로 정해주고 끝!

확인하기 위해서 run(ctrl+shift+r : 맥 단축키)해주면 whitelabel Error Page가 뜹니다. 그러면 성공이에용

에러상황: spring web server failed to start. port 8080 was already in use
한 번 이런 에러가 났다. 이미 8080 포트가 사용되고 있다고 하네요? 이걸 끄기 위해서 또 얼마나 검색을 했는지 ㅠㅠ

1) 비권장 방법이지만 어플리케이션의 포트 번호를 바꿉니다.
src/main/resources/application.properties에 아래와 같이 써줍니다.

# configuring port
server.port = 8181

2) 해당 포트의 서버를 죽이고 우리의 코드를 실행한다.
lsof (list open files) 명령어로 아래 첫줄과 같이 명령을 주면 mac에서 열린 전체 포트를 확인할 수 있습니다. 해당 포트만 보고 싶다면 lsof -i :8080처럼 포트 번호를 넣어서 조회해도 됩니다.
이 중 COMMAND가 java이면서 중복되었던 8080포트를 찾습니다. 그 줄의 pid값을 넣어 kill pid번호를 넣어주면 해당 서버가 죽습니다.
ex) kill 32417

$ lsof -i -P
$ kill <PID>

참고
버전명의 의미

profile
정리하는 개발자

0개의 댓글