백엔드/스프링 부트 3 자바 백엔드 개발 입문

[스프링 부트 개요] 스프링 부트 시작하기

dotudy 2024. 3. 10. 17:15

스프링 부트란 자바 기반 웹 프로그램을 쉽게 만들 수 있도록 도와주는 도구이다. 스프링 부트를 사용하면 더 쉽고 빠르게 자바 웹 프로그램을 만들 수 있는 것이다. 새로운 도구라기 보다는 스프링 프레임워크를 개선해서 외부 라이브러리를 최적화하여 제공함으로서 개발자의 편의에 집중하였다. 

스프링 부트 개발 환경을 설정하기 위해서는 JDK 설치, IDE 설치, 스프링 부트 프로젝트 만들기로 세 가지 단계를 거친다.

 

 가장 기본인 헬로 월드!를 출력해보자

 

main method를 실행한 후 크롬 localhost:8080으로 접속하면 에러 페이지가 뜬다. 해당 URL은 스프링 부트 프로젝트가 실행된 서버에 접속하라는 의미를 가지고 있다. 에러 message가 뜨는 이유는 아직 웹 페이지를 만들지 않았기 때문이다. 헬로 월드!가 출력될 수 있게끔 HTML 파일을 만들어야한다. hello.html 파일을 만들고 localhost:8080/hello.html에 접속하면 헬로 월드!가 나올 것이다.

 

1. src > main > resources > static 디렉토리에서 hello.html 파일을 만든다.

2. <body></body> 사이에 "    <h1>헬로 월드!</h1>"를 입력한다. 

3. 서버를 실행하고 localhost:8080/hello.html에 들어가면 헬로 월드!가 출력된다.

 

 웹 서비스의 동작 원리를 이해해보자

 

웹 서비스는 클라이언트의 요청에 따른 서버의 응답으로 동작한다. 클라이언트란 서비스를 사용하는 프로그램 혹은 컴퓨터를 말하고 서버는 서비스를 제공하는 프로그램 혹은 컴퓨터를 칭한다. 앞선 실습에서는 웹 브라우저가 클라이언트로 동작하였고 스프링 부트가 서버 역할을 하였다. 

 

클라이언트의 요청에 응답을 하기 위해서는 서버가 동작 중이어야한다. 만약 서버가 종료되었는데 localhost:8080에 접속하면 해당 사이트에 접근할 수 없다고 나온다. 서버를 다시 실행하면 "Tomcat started on port(s): 8080..."이라는 메세지를 볼 수 있고 웹 브라우저에 접근 가능하다.

 

 localhost:8080/hello.html의 의미를 분석해보자

 

· localhost

실행 중인 서버의 주소 중 '내 컴퓨터'를 의미한다. 내가 사는 집을 '우리 집'이라고 표현하는 것과 같은 의미이다. IP 주소는 127.0.0.1이다.

 

· 8080

port number이다. localhost가 '우리 집'이라면 8080은 방 번호에 해당된다. 클라이언트가 8080번 방에 요청을 보내고 8080번 방 안에는 스프링 부트가 동작하고 있다. 조금 더 구체적으로 말하면 톰캣이 8080번에서 수행되고 톰캣은 웹 서버를 말한다. 스프링 부트는 해당 톰캣에 담겨서 실행된다. 즉, 스프링 부트 프로젝트가 톰캣에 담겨 8080번에서 수행된다.

 

· hello.html

서버에 요청하는 파일을 말한다. localhost:8080/hello.html에 접속하면 내 컴퓨터의 8080번에서 수행되는 서버에 hello.html 파일을 요청하는 것이다. 파일을 지정하면 스프링 부트는 src > main > resources > static 디렉터리에서 파일을 찾고 찾은 HTML 코드를 응답으로 보낸다.