티스토리 뷰
1.1 핵심기능
- 의존성관리(dependency management) 간소화
- 배포(deployment) 간소화
- 자동 설정(auto configuration)
1.1.1 의존성관리(dependency management) 간소화
- RESTful API의 의존성 : 빌드 파일에 수많은 의존성이 존재
: HTTP 엔드포인트를 만들어 요청을 수신
요청을 처리할 메서드/함수에 해당 엔드포인트를 연결하여 적절한 응답을 반환
: JSON, XML, HTML ...
위의 문제를 해결하기 위해 스프링 부트와 스타터가 등장
- 스프링 부트의 스타터 개념
: 의존성 간소화
: 애플리케이션 기능 전체 추가에 필요한 작업을 줄여줌
: 오버헤드 줄여줌( 테스트, 유지보수, 업그레이드, ... )
1.1.2 배포 간소화 - 실행 가능한 JAR
ex) 비교 : 마이크로 데이터 저장소 서비스, 모놀리식 서비스
애플리케이션 서버 설치 및 설정 -> DB 드라이버 설치 -> DB 커넥션 생성 -> 커넥션 풀(connection pool) 생성
-> 빌드 및 테스트 -> 애플리케이션과 애플리케이션의 의존성을 애플리케이션에 배포
기존 : 단일 JAR로 결합하는 셰이딩(Shading) 방식
- 의존성에 안좋음
스프링 부트 : 중첩된 JAR
- 버전 충돌 완화
- 소프트웨어의 재패키징 및 결합으로 인한 라이선스의 법적 문제 제거
- JAR의 내용도 간단히 추출
- 배포에 용이
: 스프링 부트 플러그인이 모든 의존성을 결과JAR에 압축함
: "Java -jar <SpringBootAppName.jar>" 혹은 "<SpringBootAppName.jar> 파일명" 과 같은 명령만으로 애플리케이션 실행
1.1.3 자동 설정 : 설정보다 관습(convertion over configuration)
반복되는 특정 사례들에 의견을 제시해 생산성을 향상시킴
기본값을 쓰는 공유 프로젝트는 프로젝트 설정 시 기본값을 사용하므로 개발환경을 설정하는 시간을 절약
Ref. 처음부터 제대로 배우는 스프링 부트(한빛미디어)
'개발' 카테고리의 다른 글
[Web] JSP vs Servlet (0) | 2024.07.02 |
---|---|
[Protocol] SNMP (0) | 2024.06.14 |
[Web] React, Spring boot 연동 (2) | 2024.03.21 |
[SSH] 클라이언트 정리 (0) | 2024.03.13 |
[API] REST vs SOAP (0) | 2024.03.13 |
- Total
- Today
- Yesterday
- 라그랑주 네 제곱수 정리
- 5547
- 11265
- 구간 나누기
- 내 아이피.한국
- BOJ
- 13397
- 2228
- mysql 유저 생성
- 특정 거리의 도시 찾기
- 비교표현식
- db 외부 접속
- 22944
- 죽음의 비
- 17626
- 18352
- 뷰탬플릿
- onos
- 16918
- 19637
- ubuntu
- 끝나지 않는 파티
- 구간나누기2
- 3대요소
- Python
- 5557
- 말이 되고픈 원숭이
- 백준
- Four Squares
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |