스프링 부트 코딩 공작소 (크레이즈윌즈 / 황인서 역, 출판사: 길벗)
|
이 책은 스프링부트를 처음 접하는 입문용으로 좋을 것 같습니다. 책이 얇아서 가볍게 읽을 수 있어서 좋습니다! 그리고 부록에 스프링 부트 개발자 도구, 스프링 부트 스타터, 구성 프로퍼티, 스프링 부트 의존성에 관한 내용이 있는데 알짜 정보라고 생각합니다! 이런게 있구나하고 쭉 훑는것도 좋을 것 같아요~
책은 사서 읽는 것을 추천드립니다...!
아래는 제가 책을 읽으면서, 기록하고 싶은 내용만 기록했습니다. 책의 전체 내용이 적혀있지 않으니 참고용으로만 봐주세요~
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 클래스는 스프링 부트 애플리케이션에서 구성과 부트스트래핑 두 가지 역할을 담당합니다.
- 스프링 구성 클래스
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을 묶은 것입니다.
- 부트스트랩 클래스
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 |
---|