-
(2) 강의 입문자바 Study/Spring - 핵심원리 2021. 7. 10. 22:23
1. 스프링 개요
스프링과 사용되는 프로젝트들
- 스프링 데이터 : RDBMS
- 스프링 세션 : 세션 관리용, Authentication
- 스프링 시큐리티 : 보안
- 스프링 Rest Docs : API 문서를 편리하게 하는 도구
- 스프링 배치 : Batch job에 특화된 기술
- 다른 기술들 예시 : https://spring.io/projects
1-1) 스프링 프레임워크 핵심요약
※ Groovy 특징
- groovy 는 JVM에서 스크립트로 돌아가는 언어
- gradle(빌드툴)을 작성할 때 쓰기도 함 (DSL 은 코틀린, 그루비 등으로 작성하도록 되어있음)
- 빌드를 안돌리고 script로 실행 하는 것이 특이점- Maven을 대체하는 빌드 도구
참조 :
https://araikuma.tistory.com/460
https://goodteacher.tistory.com/333
1-2) 스프링 부트
스프링 부트는 위에 "스프링 프레임워크" 프로젝트들을 사용하는 것을 도와주는 기술
- 실무에서는 이제 거의 관례로 사용하도록 됨
- 단독 스프링 애플리케이션을 생성할 수 있음
> 간단한 이유
- Tomcat같은 웹서버가 내장
- 빌드를 몇줄의 코드로 수행할 수 있음, configuration이 매우 쉽다
> 웹서버는 간단히, 자원 경로에 접속시 html + css + JS를 응답으로 주며 동적 / 정적 타입이 있는 서버
- 3rd 파티 라이브러리에 대한 종속성이 있어서 그 부분을 자동으로 구성
- 외부에서 상태확인가능한 기능 제공 : 메트릭, 상태확인, 외부 구성 같은 프로덕션 제공
- 관례에 의한 간결한 설정
1-3) 스프링 단어의 의미
문맥에 따라 다르게 사용
- 스프링 DI 컨테이너 기술
- 스프링 프레임워크
- 스프링 부트, 스프링 프레임워크 등을 모두 포함한 스프링 생태계
1-4) 스프링을 만든 이유
왜 "로드 존스"의 3만줄의 코드가 무엇이었길래, 스프링이 등장하여 지금까지 성장하였을까?
(a) 스프링의 핵심 개념, 컨셉?
- 웹 애플리케이션 만들고, DB 접근 편리하게 해주는 기술?
- 전자정부 프레임워크?
- 웹 서버도 자동으로 띄워준다?
- 클라우드, 마이크로서비스?
(b) 스프링의 진짜 핵심 기술
- 자바 언어 기반의 프레임워크
- 자바 언어의 가장 큰 특징 - 객체 지향 언어
- 객체지향 언어가 가진 강력한 특징을 살려내는 프레임워크
- 정리 : 스프링은 좋은 객체지향 어플리케이션을 개발할 수 있게 도와주는 프레임워크
참조
목차 : 객체지향 설계와 스프링
- 스프링이란?반응형'자바 Study > Spring - 핵심원리' 카테고리의 다른 글
(5) 객체 지향 설계와 스프링 (0) 2021.07.22 (4) 좋은 객체지향 설계 5원칙 (SOLID) (0) 2021.07.20 (3) 좋은 객체지향 프로그래밍 (0) 2021.07.13 (1) 강의 입문 (0) 2021.07.10