Study/Spring Boot

[Spring Boot] Spring VS Spring Boot

_gayeon 2021. 1. 20. 17:59

Spring Framework

자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크

엔터프라이즈 애플리케이션을 쉽게 만들수 있다. (DL, AOP)

* 엔터프라이즈 애플리케이션: 대규모 데이터 처리, 트랜젝션을 처리하는 기업용 애플리케이션

경량컨테이너로 자바 객체를 담고 직접 관리

 

Spring 의 특징

1. 제어의 역전 (IOC, Inversion of Control)

인스턴스의 생성부터 소멸까지 인스턴스의 생명주기 관리를 컨테이너(bean을 대신 관리해줌)가 대신 해준다.

 컨트롤의 제어권이 사용자가 아니라 Framework에 있어 필요에 따라 스프링에서 사용자의 코드 호출

 

2. 의존성 주입 ( Dl, Dependency Injection)

객체가 서로 의존하는 관계가 되게 의존성을 주입. 

객체지향 프로그램에서 의존성이란 하나의 객체가 다른 객체를 사용하는 것을 말한다.

▶ 각 클래스 사이에 필요로 하는 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해 주는 것

[참고 예제] https://sas-study.tistory.com/274

 

Spring Framework는 기능이 많지만 환경설정이 복잡하다.

그래서 설정의 많은 부분을 자동화한 Spring boot가 등장하였다.

 

1. 내장서버 (Tomcat포함)

- spring: 따로 tomcat을 설치하거나 매번 버전 관리 필요

2. starter를 통한 dependency 자동화

- spring: 각 dependency의 호환되는 버전을 맞추어야한다.

3. xml 설정 x

4. jar file을 이용해 자바 옵션으로 쉽게 배포 가능

 

 

참고 URL

https://khj93.tistory.com/entry/Spring-Spring-Framework%EB%9E%80-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90-%ED%95%B5%EC%8B%AC-%EC%A0%95%EB%A6%AC

 

[Spring] Spring Framework란? 기본 개념 핵심 정리

Spring Framework란? 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 엔터프라이즈급 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션입니다. 엔터프

khj93.tistory.com