벡엔드/SpringBoot
[spring] 스프링, 스프링 부트란? what is Spring and Spring boot?
코딩하는이씨
2023. 7. 21. 01:07
728x90
반응형
1. 스프링(Spring)이란?
- 자바 기반의 웹 어플리케이션을 만들 수 있는 프레임 워크이다.
- 스프링 프레임 워크는 현대 자바 기반의 엔터프라이즈 어플리케이션을 위한 프로그래밍 및 Configuration Model을 제공한다.
특징
- 자바 객체와 라이브러리 관리를 해주며, 톰캣과 같은 WAS(Web Application Server)가 내장되어 있어 자바 웹 어플리케이션을 구동할 수 있다.
- 경량 컨테이너로 자바 객체를 직접 Spring 안에서 관리한다. 객체의 생성 및 소멸과 같은 생명주기(life cycle)을 관리하며 Spring 컨테이너에서 필요한 객체를 가져와 사용한다.
- 가장 큰 특징은 제어와 역전(IOC, Inversion Of Control) 와 의존성 주입(DI, Dependency Injection)이다.
제어와 역전 (IOC, Inversion Of Control) :객체의 생성을 특별한 관리 위임 주체에 맡긴다. 사용자는 객체를 직접 생성하지 않고 객체의 생명주기를 컨트롤 하는 주체는 다른 주체가 된다. 즉 사용자의 제어권을 다른 주체에게 넘기는것을 IOC(제어와 역전) 이라고 한다.
의존성 주입(DI, Dependency Injection) : 객체를 외부(spring)에서 생성해서 사용하려는 객체 주체에 주입시켜주는 방식이다.
2. 스프링 부트(Spring Boot)란?
- 스프링을 더 쉽게 이용하기 위한 도구이다.
- 스프링 부트는 매우 간단하게 프로젝트를 설정할 수 있게 하여, Spring 개발을 조금 더 쉽게 만들어주는 역할을 한다.
- Spring의 많은 부분을 자동화하여 개발자가 의존성 관리, 인프라 관리에 사용하는 에너지를 주요한 비즈니스를 만들기 위한 프로그래밍에 투자할 수 있도록 해준다.
728x90
반응형