스프링 부트 (Spring Boot)
스프링(Spring) 정의
스프링 부트를 공부하기 이전에 Spring에 대해 먼저 알아보자. 스프링이랑 자바 기반의 웹 어플리케이션을 만들 수 있는 프레임워크이다. spring.io 사이트에 보면 스프링 프레임 워크는 현대 자바 기반의 엔터프라이즈 어플리케이션을 위한 프로그래밍 및 Cofiguration Model 을 제공한다고 언급되어 있다.
스프링(Spring) 특징
스프링은 자바 객체와 라이브러리를 관리하며, 톰캣과 같은 웹 서버가 내장되어 있어서 자바 웹 어플리케이션을 구동할 수 있다. 스프링은 경량 컨테이너로 자바 객체를 직접 스프링 안에서 관리한다. 객체의 생성부터 소멸까지의 생명주기(Life cycle)을 관리하며 스프링 컨테이너에서 필요한 객체를 가져와서 사용한다.
스프링하면 가장 큰 특징으로 IOC, DI 이 있다. 해당 개념은 간단히만 알아보자.
제어의 역전 (IOC, Inversion Of Control)
우리가 처음 자바를 접할 때, 각 객체들이 프로그램의 흐름을 정하고 객체를 직접 생성하며 조작(객체를 직접 생성 및 메소드 호출)을 했었다. 이러한 모든 작업들을 사용자가 직접 제어하는 구조였다.
IOC가 적용되면 객체 생성을 관리 위임 주체에게 맡겨 사용자가 객체를 직접 생성하지 않고 객체의 생명주기를 컨트롤하는 주체는 다른 주체가 되어진다. 사용자의 제어권을 다른 주체에게 넘기는 것을 IOC라 한다.
의존성 주입 (DI, Dependency Injection)
객체 외부(Spring) 에서 생성하여 사용하려는 주체 객체를 주입시켜주는 방식을 말한다.
스프링부트 (Spring Boot)
스프링에 대해 간단히 살펴보았다면, 스프링 부트는 무엇일까?
스프링을 더 쉽게 이용하기 위한 도구라고 할 수 있다. 스프링을 사용하려면 세팅해야될 요소들이 많은데 스프링 부트는 간단히 프로젝트를 설정할 수 있게 하여 스프링 개발을 좀더 쉽게 만들어주는 역할을 한다. 현재 많은 개발자들이 스프링 부트를 사용하고 있다고 한다.
'Back-End > Spring' 카테고리의 다른 글
[Spring] Spring boot, MyBatis 환경 log4jdbc 설정 (0) | 2022.12.30 |
---|---|
[Spring] cannot deserialize from Object value (no delegate- or property-based Creator) 에러 (0) | 2022.06.13 |
[Spring] Spring Boot 로 Hello world 실행하기 (0) | 2022.06.12 |
[Spring] Layered Architecture (0) | 2022.06.08 |
[Spring] Template Engines (0) | 2022.02.25 |
최근댓글