끄적끄적
Spring 정의와 특징 본문
✅ 스프링(Spring)이란?
자바 기반의 웹 어플리케이션을 만들 수 있는 프레임워크
- python - Django
- Ruby - Ruby on Rails
- JavaScript - Node.js
- Java - Spring
✅ Spring 특징
자바 객체와 라이브러리를 관리해주며, 톰캣과 같은 WAS가 내장되어 있어 자바 웹 어플리케이션을 구동할 수 있다.
spring은 경량 컨테이너로 자바 객체를 직접 spring안에서 관리.
객체의 생성 및 소멸과 같은 생명주기(life cycle)를 관리하며, spring 컨테이너에서 필요한 객체를 가쳐와 사용
- IOC와 DI
- 제어의 역전(IOC, Inversion Of Control)
- 사용자의 제어권을 다른 주체에게 넘기는 것. 스프링에게 제어를 위임하여 스프링이 만든 객체를 주입. -> 의존성 객체의 메소드 호출
- 의존성 주입(DI, Dependency Injection)
- 어떤 객체(B)를 사용하는 주체(A)가 객체(B)를 직접 생성하는 것이 아니라, 객체를 외부(Spring)에서 생성해서 사용하려는 객체(A)에 주입시켜주는 방식 → 이렇게 하면 A와 B의 의존성이 줄어든다.
- 제어의 역전(IOC, Inversion Of Control)
✅ Spring boot란?
스프링을 더 쉽게 사용하기 위한 도구.
Spring framework 기반 프로젝트를 복잡한 설정 없이 쉽고 빠르게 만들어주는 라이브러리. 개발자가 일일이 모든 설정을 할 필요 없이 자주 사용되는 기본 설정을 알아서 해준다.