Back-end/Spring

[Spring] Spring이란 무엇일까?

shoney9254 2022. 2. 28. 17:03
반응형

겨울이 끝나고 봄이 온다(?) 라는 의미로 스프링이 탄생한다.

 

과거 자바(겨울)

- 자바당의 정파 기술은 EJB(Enterprise Java Beas) 

- 금융권, 아키텍터 들이 많이 사용하고 있었다. 

- EJB를 가지고 영업을 많이 했었다. 

- 단점 : 진짜 어렵고 복잡하고 느림

 

 

현재 자바(스프링)

스프링이 없던 시절에 좋은 객체 지향을 하려고 OCP, DIP 원칙을 지키면서 개발을 해보니, 너무 할일이 많았다. (배보다 배꼽이 커지는 일 발생함) 그래서 프레임워크로 만든게 스프링 프레임 워크

(👉🏻OCP, DIP 원칙에 대해서 알아보는 글)

 

1. 스프링

- 로드존스가 만듦(2002)

- EJB 컨테이너를 대체함

- BeanFactory, ApplicationContext, POJO, 제어의 역전, 의존관계 주입

- 유겐 휠러, 얀카로프가 로드 존슨에게 오픈소스 프로젝트를 제안

 

2. 스프링 부트

- 2014년 1.0 출시 

- 스프링 설정이 너무 힘든 단점을 개선함

 

 

 스프링 생태계

필수

 

https://spring.io/  에 들어가보면 스프링의 다양한 종류를 찾아 볼 수 있다.

 

스프링 부트

- 스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용

- 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성

- Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨

- 손쉬운 빌드 구성을 위한 starter 종속성 제공

- 스프링과 3rd parth(외부) 라이브러리 자동 구성

- 메트릭, 상태 확인, 외부 구성 같은 프로덕션 준비 기능 제공

- 관례에 의한 간결한 설정 (스프링에서 설정의 복잡성을 개선함)

 

 

스프링 단어?

- 스프링이라는 단어는 문액에 따라 다륵 사용된다. 

- 스프링 DI 컨테이너 기술

- 스프링 프레임워크

- 스프링 부트, 스프링 프레임워크 등을 모두 포함한 스프링 생태계

 

 

스프링의 핵심 

- 스프링은 자바 언어 기반의 프레임워크

- 자바 언어의 가장 큰 특징 - 객체 지향 언어

- 스프링은 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크

- 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크

 

👇🏻 객체지향 언어 포스팅 보러가기

https://shoney.tistory.com/entry/%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5-%EC%96%B8%EC%96%B4-SOLID?category=1001322

 

 

 

 

반응형