SNS에서 우연히 보고 알게 된 길벗 코딩자율학습단 9기로 한 달 책 한 권 완독해보기 스타트이다.
길벗 네이버 카페 가입하고 IT입문서적 스스로 하는 프로그래밍 공부 '코딩자율학습' 시리즈 책 중 나는 스프링부트로 선정.
리눅스와 자바 관련 도서도 추후 나오는 것 같던데 지금은 백엔드쪽은 스프링부트밖에 없어서 이거로 공부하기이댜.

 

 

스프링 부트(Spring Boot)란?

자바 웹 프로그램을 더욱 쉽고 빠르게 만들기 위한 도구로 프랜차이즈에 가입해,

레시피와 서비스 노하우를 제공받는 것처럼 자바 웹 프로그램을 만드는 데 필요한 기능과 도구를 찾아 내 것으로 만들기.

스프링 부트는 사실 새로운 기술이라기보다는 스프링 프레임워크를 개선한 것.

스프링은 버전에 따라 동작하는 라이브러리를 일일이 찾아 연동해야 한다면 부트는 미리 설정된 스타터 프로젝트.

또한 부트는 내부에 웹 애플리케이션 서버인 톰캣을 가지고 있어서 웹 서비스를 jar 파일로 간편하게 배포 가능.

 

스프링 부트 개발환경 설정하기

JDK는 자바 코드의 번역과 실행을 담당하는 자바 개발 도구.

IDE는 개발 생산성을 높여주는 도구로 이클립스나 인텔리제이와 같은 프로그램을 말함.

마지막으로는 스프링 부트 프로젝트를 만들어 "Hello World" 출력해 보면 개발 환경 설정 완료.

나의 경우 미리 JDK는 설치되어 있어서 터미널로 확인만 해 주었다.

인텔리제이의 경우도 이미 설치가 되어 있어서 확인만 해 주었다.

 다음으로 스프링 부트 프로젝트 만들기이다.

Spring Initializr 페이지에 접속한 후 언어, 스프링 부트 버전, 프로젝트 이름 등을 먼저 설정.

그다음 Dependencies 부분도 책에 나와있는 데로 설정.

Dependencies는 스프링 부트 프로젝트에 필요한 여러 도구를 가져오는 역할.

- 웹 도구인 Spring Web을 추가

- 자료를 저장하기 위한 데이터베이스인 H2 Database 추가

- 화면을 만들기 위해 필요한 도구인 Mustache 추가

- 데이터베이스를 좀 더 편리하게 다룰 수 있게 해 주는 도구인 Spring Data JPA 추가

위와 같이 설정을 완료한 다음 Generate 버튼을 클릭하고 프로젝트를 다운받아서 인텔리제이에 프로젝트 올리기.

처음 프로젝트를 열면 필요한 파일들을 내려받느라 시간이 좀 걸리는데,

완료 후 build successful 메시지가 나오면 정상적으로 프로젝트가 인텔리제이에 올라간 것이다.

여기서 빌드란 소스 코드를 실행할 수 있는 독립적인 형태로 만드는 것을 말한다.

기본적인 인텔리제이 사용법은 아니 여기서는 그 내용은 생략하고,

마지막으로 서버 띄워서 localhost:8080으로 헬로월드가 잘 나오는지 확인하기,,,


웹 서비스의 동작 원리 이해하기

웹 서비스는 클라이언트의 요청에 따른 서버의 응답으로 동작.

클라이언트란 서비스를 사용하는 프로그램 또는 컴퓨터를 말하고 서버는 서비스를 제공하는 프로그램 혹은 컴퓨터를 말함.

클라이언트의 요청에 서버가 응답해서 여러 작업을 거쳐 결과를 다시 클라이언트에게 전송해서 화면에 표출.

 

서버에 접속할 때 사용하는 localhost:8080/hello.html에 대해 마지막으로 살펴보면,

localhost는 실행 중인 서버 주소 중 특별한 주소인 '내 컴퓨터'를 의미하는데 IP 주소로 변경하면 127.0.0.1

8080은 포트 번호로 내 컴퓨터의 각각의 방이 있다고 생각하고 그 방의 번호라 이해하면 쉽다.

/ 뒤에 붙는 hello.html은 서버에 요청하는 파일을 말하는데 이렇게 파일을 직접 지정할 경우 스프링 부트는 기본적으로,

src > main > resources > static 디렉터리에서 파일을 찾아서 찾은 HTML 코드를 응답으로 보낸다고 한다.