스프링부트 시작하기
스프링 부트 spring boot
자바 웹 프로그램 더욱 쉽고 빠르게 만들기 위한 도구
Spring Framework 를 개선한것
- 개발 환경 설정 간소화, 웹 애플리케이션 서버 내장(WAS : tomcat)
웹 서비스를 jar 파일로 간편하기 배포 가능
Spring boot 프로젝트 만들기
Artifact : 프로젝트의 이름 설정하는 부분
Package Name : Group + Artifact
Dependencies : 스프링 부트 프로젝트에 필요한 여러 도구를 가져오는 역할
Spring Web : 웹 빌드
H2 Database : 자료를 저장하기 위한 데이터베이스
Mustache : 화면을 만들기 위해 필요한 도구
Spring Data JPA : 데이터 베이스 좀더 편리하게 다룰 수 있게 해줌
Generate 후 압출 풀기
intelij 에서 열기
프로젝트 구조
src 내부
- main
java 자바 코드 저장
resources : 외부 파일저장
자바 프로그램 main 메서드는 com.example.firstproject에 하나의 클래스로 존재함
기본 패키지의 FirstprojectApplication 안에 메인 메서드가 있음
Started FirstprojectApplication in 8.042 seconds (process running for 8.956) 이 표시가 서버 실행이 완료 되었다는 뜻
- 스프링 부트 버전 바꾸기 : build.gradle 에서 org.springframework.boot version ~~~ 을 변경 후 코끼리 아이콘 클릭
프로젝트 파일을 실행하자마자 서버를 실행해 봤자 에러 페이지가 뜬다.
- 아직 웹 페이지를 만들지 않았기 때문
- html을 이용해서 보여줄 수 있게 제작해야함
- hello.html 을 만들어서 그 안 body에 hello world를 써넣자
src > main > resources > static > hello.html
웹 서비스 동작 원리 이해
클라이언트 - 서버 구조
웹 서비스는 클라이언트 요청 따른 서버 응답으로 동작
클라이언트 : 서비스 사용하는 프로그램 또는 컴퓨터
서버 : 서비스를 제공하는 프로그램 또는 컴퓨터
웹 브라우저 : 클라이언트, 스프링부트 : 서버
당연히 스프링 부트가 서버 실행을 중단하면 웹에서 접근이 불가능하다.
TomcatWebServer Tomcat initialized with port 8080 (http)
톰캣이 8080이라는 포트에서 수행되었따.
localhost:8080/hello.html의 의미
localhost : 실행 중인 서버의 주소 중 특별한 주소인 '내 컴퓨터' = IP 주소로 변경하면 127.0.0.1이 된다.
8080 : 포트 번호 (방번호)
톰캣 : 웹 서버 - 스프링 부트는 톰캣에 담겨서 실행 된다.
hello.html : 웹 브라우저가 요청한 hello.html이라는 파일을 스프링 부트가 보여주는 것 = 서버에 요청하는 파일
즉 전체 문장의 의미는
내 컴퓨터의 8080번 방에서 수행되고 있는 톰캣 서버에 hello.html이라는 파일을 요청하는 것
이런식으로 파일을 직접 지정해서 요청하는 경우
src > main > resources > static 에서 파일을 찾는다.
웹 브라우저 개발자 모드 화면과 스프링 부트에 html 파일에 있는 코드는 일치한다.