(코딩 자율학습 스프링 부트3) 1,2장
Part1. 스프링 부트 시작
스프링 부트란?
스프링 부트(Spring Boot)는 자바 웹 프로그램을 더욱 쉽고 빠르게 만들기 위한 도구이다
스프링 부트에는 자바 웹 프로그램을 만들기 위한 기능과 도구가 모여 있다
스프링 부트 개발 환경 설정하기
스프링 부트 개발 환경 설정에는 3단계로 이루어진다
1단계 : JDK설치하기
2단계 : IDE설치하기
3단계 : 스프링 부트 프로젝트 만들기
JDK 다운로드 및 설치버전 확인하기
- JDK란:
자바 개발 키드(Java Development Kit, JDK)
는 개발자들이 JVM과 JRE에 의해 실행되고 구동될 수 있는 자바 프로그램을 생성할 수 있게 해준다 -
JDK 17버전 설치: JDK 다운로드 페이지
- 버전확인: CMD 터미널 창을 열고
java -version
입력하기
IDE 설치
- IDE란:
통합 개발 환경(Integrated Development Environment, IDE)
는 개발자가 생산성을 높이기 위해 사용하며 코드를 효율적으로 개발하도록 도와주는 소프트웨어이다 - IntelliJ IDE설치: IDE 다운로드 페이지
스프링 부트 프로젝트만들기
스프링 부트 프로젝트는 IDE를 통해서 만들 수 있지만 Spring Initializr 사이트를 통해서 조금 더 쉽게 프로젝트를 생성할 수 있다 Spring Initializr 페이지
Gradle(그래이들)과 IntelliJ IDEA
Gradle는 Groovy를 이용한 오픈 소스 빌드 자동화 시스템이다 즉 빌드 도구라할 수 있는데 빠른 기간동안 계속해서 늘어나는 라이브러리의 추가 또는 프로젝트를 진행하며 수많은 라이브러리의 버전을 쉽게 동기화 하기 위해 등장한 것이다
IntelliJ IDEA는 인텔리제이 자체에서 제공하는 빌드 자동화 도구이다
- 차이점 : IntelliJ IDEA는
증분 빌드
이며 Gradle은증분 빌드
가 아니다증분 빌드란
변경된 부분만 빌드를 하는 방식으로 변경되지 않은 것에 대해서는 건너뛰고 빌드를 진행해서 빠른 빌드를 원할 경우 선택하는 방법이다 (단, 정확한 빌드가 되지 않는 경우가 있어서 정확한 빌드를 원한다면 Gradle 빌드 방식을 사용할 것을 추천한다)
Gradle(그래이들)의 핵심 기능
Compile
- Java 파일의 소스 코드를 컴퓨터가 이해할 수 있도록 바이트 코드로 변환Test
- 유닛 테스트, UI 테스트Packaging
- 스프링 코드를 패키징 해 .jar 파일이나 .war 파일로 생성Deploy & Run
- 서버 실행
뷰 템플릿
뷰 템플릿
이란 화면을 담당하는 기술로, 웹 페이지(view)를 하나의 틀(Template)로 만들고 여기에 데이터 변수를 삽입해 서로 다른 페이지를 보여 준다
머스테치(Mustache)
라는 도구를 사용하면 인텔리제이에서 바로 뷰 템플릿을 생성할 수 있다
MVC 패턴
화면을 담당하는게 위와 같이 뷰(View)였다면 뷰는 컨트롤러와 모델이라는 두 동료가 있다컨트롤러(Controller)
는 클라이언트의 요청에 따라 서버에서 이를 처리하는 역할이고,모델(Model)
은 데이터를 관리하는 역할을 한다
- 웹 페이치를 화면에 보여준다(View)
- 클라이언트의 요청을 받아 처리한다(Controller)
- 데이터를 관리한다(Model)
위와 같이 역할을 나누는 기법을 MVC(Model-View-Controller)패턴이라고한다
어노테이션(annotation)
소스 코드에 추가해 사용하는 메타 데이터의 일종으로 메타 데이터는 프로그램에서 처리해야 할 데이터가 아니라 컴파일 및 실행 과정에서 코드를 어떻게 처리해야 할지 알려주는 추가 정보이다