본문 바로가기
일상/책 리뷰

[도서리뷰] 스프링 부트 코딩 공작소

by 보배곰 2019. 4. 21.

스프링 부트 코딩 공작소 (크레이즈윌즈 / 황인서 역, 출판사: 길벗)

스프링 부트 코딩 공작소
국내도서
저자 : 크레이그 월즈(Craig Walls) / 황인서역
출판 : 길벗 2016.07.31
상세보기

이 책은 스프링부트를 처음 접하는 입문용으로 좋을 것 같습니다. 책이 얇아서 가볍게 읽을 수 있어서 좋습니다! 그리고 부록에 스프링 부트 개발자 도구, 스프링 부트 스타터, 구성 프로퍼티, 스프링 부트 의존성에 관한 내용이 있는데 알짜 정보라고 생각합니다! 이런게 있구나하고 쭉 훑는것도 좋을 것 같아요~
책은 사서 읽는 것을 추천드립니다...!

아래는 제가 책을 읽으면서, 기록하고 싶은 내용만 기록했습니다. 책의 전체 내용이 적혀있지 않으니 참고용으로만 봐주세요~


1장 스프링 시작하기

1.1.2 스프링 부트의 핵심 살펴보기

  • 자동 구성
  • 스타터 의존성
  • 명령줄 인터페이스
  • 액추에이터

1.2.2 Spring Initializr로 스프링 부트 프로젝트 구성하기

  • 웹 기반 인터페이스 ( https://start.spring.io/)

  • Spring Tool Suite (STS)

  • InteliJ IDEA

  • 스프링 부트 CLI

      # init 명령은 Initializr 웹 애플리케이션에 접속한 후 demo.zip 파일을 다운로드  
      $ spring init
    
      # 초기 의존성은 --dependencies나 -d 옵션으로 설정 (공백없음 주의)  
      $ spring init -dweb,jpa,security  
    
      # 빌드 타입 gradle로 설정  
      $ spring init -dweb,jpa,security --build gradle

2장 첫 번째 스프링 부트 애플리케이션 개발하기

2.1 스프링 부트 사용하기

책에 나온대로 독서 목록 예제를 만들어 보도록 하겠습니다.

https://start.spring.io/에 들어갑니다.

UI가 직관적이기 때문에 어렵지 않을것으로 보입니다.
프로젝트 타입, 개발 언어, 스프링부트 버전과 프로젝트 메타 데이터를 설정할 수 있습니다. 또한, 의존성도 설정할 수 있습니다.

저희는 gradle프로젝트, java, Spring boot 버전은 처음 선택된대로 가고, Dependencies에 Web, Thymeleaf, JPA를 선택하기로 합니다.

Selected dependencies에 필요한 dependencies가 잘 입력되어있는지 확인한 후, Generate Project를 클릭해서 프로젝트를 다운받습니다.
zip 형태로 받아지게 되고, 압축을 해제하면 됩니다. 압축을 해제하면, 안에 폴더 구조는 아래와 같습니다.
최상위 폴더 이름은, Name에서 정해준 readeing-list입니다.

2.1.1 갓 초기화한 스프링 부트 프로젝트 살펴보기

  • build.gradle: gradle 빌드 명세
  • gradlew: gradle 래퍼
  • ReadingListApplication.java: 애플리케이션의 부트스트랩 클래스이자 주 스프링 구성 클래스
  • application.properites: 애플리케이션과 스프링 부트 프로퍼티를 구성하는 데 사용하는 파일
  • ReadingListApplicationTests.java: 기본 통합 테스트 클래스

ReadingListApplication.java
스프링 부트스트래핑
ReadingListApplication 클래스는 스프링 부트 애플리케이션에서 구성부트스트래핑 두 가지 역할을 담당합니다.

  1. 스프링 구성 클래스
package com.treabear.readinglist;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication    // 컴포넌트 검색과 자동 구성 활성화
public class ReadingListApplication {

    public static void main(String[] args) {
        // 애플리케이션 부트스트랩
        SpringApplication.run(ReadingListApplication.class, args);
    }

}

@SpringBootApplication: 스프링 컴포넌트 검색과 스프링 부트 자동 구성을 활성화
스프링의 @Configuration, @ComponentScan, @EnableAutoConfiguration을 묶은 것입니다.

  1. 부트스트랩 클래스
    main() 메서드가 명령줄에서 실행 가능한 JAR 파일로 애플리케이션을 실행할 수 있게 합니다.

gradle의 bootRun 태스크를 이용해서 빌드 후 실행할 수 있습니다.

$ gradle bootRun

gradle로 빌드 후 java로 실행할 수도 있습니다.

$ gradle build
$ java -jar build/libs/readinglist-0.0.1-SNAPSHOT.jar

톰캣 서버가 정상 작동( http://localhost:8080)하나 아직 컨트롤러를 작성하지 않아 에러페이지가 나올 것 입니다..

application.properties
애플리케이션 프로퍼티 구성
프로젝트에서 application.properties를 로드하라고 명시하지 않아도, 해당 파일이 있으면 스프링 부트가 자동으로 이 파일을 로드하고 스프링과 애플리케이션 코드를 구성하는 데 사용할 수 있게 합니다.

build.gradle
프로젝트 빌드

Spring Initializr를 이용해 만든 build.gradle 입니다. dependencies에 버전을 명시하지 않았다는 점을 눈여겨 보시면 됩니다.

dependencies에 보면 org.springframework.boot:spring-boot-starter로 시작하는 것을 볼 수 있습니다. 바로 스프링 부트 스타터 의존성입니다. 필요한 것만, 버전을 굳이 신경쓰지 않고 사용할 수 있다는 점이 spring boot starter의 장점입니다.

아래 URL에 spring boot starter에 대한 설명이 나와있으니 참고해주세요~
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-starter


이상으로 스프링부트에 대해 간략히 알아보았습니다!
자세한 내용은 책을 참조해주세요!

'일상 > 책 리뷰' 카테고리의 다른 글

[도서리뷰] 알고리즘 도감  (0) 2019.05.04

댓글