Spring Framework
Spring Boot
핵심 기술 : 스프링 DI 컨테이너, AOP, 이벤트, 기타
웹 기술: 스프링 MVC, 스프링 WebFlux
데이터 접근 기술 : 트랙잭션, JDBC, ORM지원, XML지원
기술 통합: 캐시, 이메일, 원격접근, 스케쥴링
테스트: 스프링 기반 테스트 지원
언어: 코틀린, 루비
스프링 부트
- 스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용
- 단독으로 실행할 수 있는 스프링 애플리케이션 쉽게 생성
- Tomcat 같은 웹 서버를 내장해서 별도의 웹서버를 설치하지 않아도 됨.
- 손쉬운 빌드 구성을 위한 Starter 종속성 제공
- 스프링과 3rd parth(외부) 라이브러리 자동 구성
- 메트릭, 상태 확인, 외부 구성같은 프로덕션 준비 기능 제공
- 관례에 의한 간결한 설정
스프링의 핵심 컨셉
- 자바 기반의 프레임워크 (객체 지향 언어)
- 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크
- 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크
스프링과 객체 지향
- 다형성이 가장 중요하다.
- 스플링은 다형성을 극대화해서 이용할 수 있게 도와준다.
- 스프링에서 이야기하는 제어의 역정(IoC), 의존관계 주입(DI)은 다형성을 활용해서 역활과 구현을 편리하게 다룰 수 있도록 지원한다.