종류 : 대학교 소장 도서
제목 : 스프링 부트 코딩 공작소
저자 : 크레이 월즈
옯김 : 황인서
소개 : 2017/12/29 - [Study Progamming/Spring] - [ 스프링 부트 코딩 공작소 ] 정리를 시작하며
단지 공부의 목적으로 해당 도서 및 자료를 정리해둔 것입니다.
- 1장 스프링 시작하기 -
스프링 부트의 핵심 살펴보기
스타터 의존성
- 스프링 부트는 스타터 의존성 수단으로 프로젝트 의존성을 쉽게 관리한다.
- 실제로 스타터 의존성은 몇가지 기능 정의 의존성에 따라 전이적 의존성(Transitive Dependency) 해결 방법을 이용하여 공통으로 사용하는 라이브러리들을 모으는 조금은 특별한 3메이븐(또는 4그레이들) 의존성일 뿐이다. 5
- 예를 들어 JSON 형식의 리소스를 다루는 6REST API를 7스프링 MVC로 만든다고 가정하자. 8
- 추가로 JSR-303 명세에 따라 9선언적 유효성 검사를 적용하고 내장 10톰캣 서버로 애플리케이션을 구동하려 한다. 11
- 이렇게 하려면 메이븐이나 그레이들 빌드에 최소한 의존성을 여덟 개는 추가 해야한다.
- org.springframework:spring-core
- org.springframework:spring-web
- org.springframework:spring-webmvc
- com.fasterxml.jackson.core:jackson-databind
- org.hibernate:hibernate-validator
- org.apache.tomcat.embed:tomcat-embed-core
- org.apache.tomcat.embed:tomcat-embed-el
- org.apache.tomcat.embed:tomcat-embed-logging-juli
- 반면에 스프링 부트의 스타터 의존성을 사용하면 스프링 부트 '웹(web)' 스타터(org.springframework.boot:spring-boot-starter-web)를 빌드 의존성으로 간단히 추가할 수 있다.
- 웹 스타터 의존성 하나만 추가하면 다른 의존성을 전이적으로 모두 끌어오므로 의존성 전체를 일일이 추가할 필요가 없다.
- 하지만 스타터 의존성은 단순히 빌드 의존성 개수를 줄이는 것보다 더 정교한 일을 한다.
- 빌드에 웹 스타터를 추가하는 것이 애플리케이션에 필요한 기능 유형을 지정하는 작업이라는 점에 주목하자.
- 웹 애플리케이션을 개발하려고 웹 스타터를 추가했다.
- 마찬가지로 JPA 영속성을 사용하려면 'jpa' 스타터를 추가한다.
- 애플리케이션 보안이 필요하면 'security' 스타터를 추가하면 된다.
- 즉, 특정 기능을 지원하려면 어떤 라이브러리를 사용해야 하는지 더는 생각할 필요가 없다.
- 그저 해당 기능에 적절한 스타터 의존성을 찾아서 요청하면 된다.
- 스프링 부트의 스타터 의존성을 사용하면 필요한 라이브러리 버전을 고민할 필요가 없다.
- 스타터가 끌어오는 라이브러리 버전은 이미 테스트를 거쳐 라이브러리 간에 호환성 문제가 없다고 확인을 했기 때문이다.
- 2017/12/29 - [Learn IT Knowledge/Computer Science] - [ 전공 지식 ] Dependency Injection
- 2018/01/05 - [Learn IT Knowledge/Computer Science] - [ 전공 지식 ] Maven
- 2018/01/03 - [Learn IT Knowledge/Computer Science] - [ 전공 지식 ] Spring Framework
- 의존성 주입 : Dependency Injection, DI, 프로그래밍에서 구성요소간의 의존 관계가 소스코드 내부가 아닌 외부의 설정파일 등을 통해 정의되게 하는 디자인 패턴 중의 하나이다. [본문으로]
- 아티팩트 : [본문으로]
- 전이적 의존성 : [본문으로]
- 아파치 메이븐 : Apache Maven, 자바용 프로젝트 관리 도구이다. 아파치 앤트(Apache Ant)의 대안으로 만들어졌다. 아파치 라이선스로 배포되는 오픈 소스 소프트웨어이다. [본문으로]
- 그레이들 : [본문으로]
- JSON : [본문으로]
- REST API : [본문으로]
- 스프링 MVC : Spring MVC, 스프링 웹 프로그램밍 개발 시 거의 표준적인 방식인 모델-뷰-컨트롤러(MVC) 패턴 [본문으로]
- JSR-303 : [본문으로]
- 선언적 유효성 검사 : [본문으로]
- 톰캣 서버 : [본문으로]
'Study Progamming > Spring' 카테고리의 다른 글
[ 스프링 부트 코딩 공작소 ] 스프링 부트의 핵심 살펴보기 - 액추에이터 (0) | 2018.01.11 |
---|---|
[ 스프링 부트 코딩 공작소 ] 스프링 부트의 핵심 살펴보기 - 명령줄 인터페이스 (0) | 2018.01.11 |
[ 스프링 부트 코딩 공작소 ] 스프링 부트의 핵심 살펴보기 - 자동 구성 (0) | 2018.01.11 |
[ 스프링 부트 코딩 공작소 ] 스프링 부트의 핵심 살펴보기 - 서론 (0) | 2018.01.11 |
[ 스프링 부트 코딩 공작소 ] 스프링의 새로운 모습 살펴보기 (0) | 2018.01.11 |