겨울이 끝나고 봄이 온다(?) 라는 의미로 스프링이 탄생한다.
과거 자바(겨울)
- 자바당의 정파 기술은 EJB(Enterprise Java Beas)
- 금융권, 아키텍터 들이 많이 사용하고 있었다.
- EJB를 가지고 영업을 많이 했었다.
- 단점 : 진짜 어렵고 복잡하고 느림
현재 자바(스프링)
스프링이 없던 시절에 좋은 객체 지향을 하려고 OCP, DIP 원칙을 지키면서 개발을 해보니, 너무 할일이 많았다. (배보다 배꼽이 커지는 일 발생함) 그래서 프레임워크로 만든게 스프링 프레임 워크
1. 스프링
- 로드존스가 만듦(2002)
- EJB 컨테이너를 대체함
- BeanFactory, ApplicationContext, POJO, 제어의 역전, 의존관계 주입
- 유겐 휠러, 얀카로프가 로드 존슨에게 오픈소스 프로젝트를 제안
2. 스프링 부트
- 2014년 1.0 출시
- 스프링 설정이 너무 힘든 단점을 개선함
스프링 생태계
스프링 부트
- 스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용
- 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성
- Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨
- 손쉬운 빌드 구성을 위한 starter 종속성 제공
- 스프링과 3rd parth(외부) 라이브러리 자동 구성
- 메트릭, 상태 확인, 외부 구성 같은 프로덕션 준비 기능 제공
- 관례에 의한 간결한 설정 (스프링에서 설정의 복잡성을 개선함)
스프링 단어?
- 스프링이라는 단어는 문액에 따라 다륵 사용된다.
- 스프링 DI 컨테이너 기술
- 스프링 프레임워크
- 스프링 부트, 스프링 프레임워크 등을 모두 포함한 스프링 생태계
스프링의 핵심
- 스프링은 자바 언어 기반의 프레임워크
- 자바 언어의 가장 큰 특징 - 객체 지향 언어
- 스프링은 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크
- 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크
👇🏻 객체지향 언어 포스팅 보러가기
'Back-end > Spring' 카테고리의 다른 글
[Spring] Spring 프로젝트 생성(Spring boot) (1) | 2022.03.02 |
---|---|
객체 지향 프로그래밍의 꽃 : 다형성 (feat. 역할과 구현) (0) | 2022.03.02 |
객체지향 언어 : SOLID (0) | 2021.11.08 |
혼자만의 스프링 부트 특징 일기 (0) | 2021.11.08 |
[InelliJ] 클래스에서 테스트 만들기 단축키 (0) | 2021.11.01 |