Spring, SpringBoot란? 개념정리
Back-End 개발자를 목표로 잡고 SpringBoot를 학습한 것을 공유하려고 합니다.
1. framework란?
▶ 기본을 구성하는 뼈대입니다. 이러한 뼈대가 제공해주는 것은 애플리케이션을 개발하는데 있어서 템플릿과 같다고 할 수 있습니다. 그렇다면 framework를 왜 사용할까요?? 정답은 여러가지 설정과 서로 연결된 것으로 인해서 애플리케이션을 완성하는데 많은 비용이 절감됩니다. ( 여기서 비용은 시간 혹은 노동력이라고 할 수 있습니다.)
2. Springframework란?
▶ Springframework는 java 기반의 웹 어플리케이션을 만들 수 있는 프레임워크입니다. 전체적인 구조는 아래와 같습니다.
2-1. 우리는 왜 spring을 사용할까??
- Spring은 자바 객체, 라이브러리들을 관리해주며, 톰캣과 같은 WAS 가 내장되어 있어 자바 웹 어플리케이션을 구동할 수 있습니다.
- Spring은 경량 컨테이너로 자바 객체를 직접 Spring 안에서 관리합니다. 객체의 생성 및 소멸과 같은 생명 주기(Life cycle)을 관리하며, Spring 컨테이너에서 필요한 객체를 가져와 사용합니다.
- DI ( Dependency Injection ) : 의존성 주입입니다. 객체 A와 B가 있을 때 A는 B를 사용한다고 가정합니다. 이때 A는 B를 내부에서 생성하는 것이 아닌 외부의 설정파일들로 인하여 B를 주입받습니다. 그렇기에 A와B의 직접적인 의존성이 줄어들어 유연한 코드를 만들 수 있습니다. B대신 C를 주입하여 다르게 동작하는 로직을 만들 수 있습니다.
- IoC( Inversion of Control ) : 제어의 역전입니다. 말 그대로 method나 class의 호출 작업을 개발자가 아닌 외부에서 결정 되는 것입니다. (여기서 외부는 spring의 container를 의미합니다.)
- AOP( Aspect of Programming) : 관점 지향 프로그래밍입니다. AOP 는 OOP( 객체지향 프로그래밍 )에서의 반복되는 공통 기능의 코드를 극복했습니다. AOP는 어떤 로직을 기준으로 핵심적인 로직과 부가적인 로직으로 분리하여 그것들을 관점을 기준으로 모듈화하여 공통된 코드를 줄이는 것입니다.
3. SpringBoot란?
▶ Springframework를 이용하더라도 애플리케이션을 개발하는데 있어서 부가적인 세팅이 필요해 많은 비용이 듭니다. 하지만 SpringBoot는 세팅을 자동화 하여 개발자가 프로그래밍하는데 집중할 수 있게 해줍니다. 현재는 대부분의 개발자들이 SpringBoot를 통해서 개발을 진행합니다.
지금까지 spring과 springboot에 관하여 알아보았습니다. 다음은 spring project를 제작하는 과정을 포스팅하겠습니다. 감사합니다.
'SpringBoot > spring 개념' 카테고리의 다른 글
Spring Lombok 어노테이션 사용 (0) | 2022.01.03 |
---|---|
SpringBoot는 싱글톤인데 어떻게 다중 요청을 처리할까?? (0) | 2021.12.31 |
spring 컨테이너와 bean 개념 (0) | 2021.12.30 |
Springboot 프로젝트 생성 (0) | 2021.12.30 |
댓글
이 글 공유하기
다른 글
-
Spring Lombok 어노테이션 사용
Spring Lombok 어노테이션 사용
2022.01.03 -
SpringBoot는 싱글톤인데 어떻게 다중 요청을 처리할까??
SpringBoot는 싱글톤인데 어떻게 다중 요청을 처리할까??
2021.12.31 -
spring 컨테이너와 bean 개념
spring 컨테이너와 bean 개념
2021.12.30 -
Springboot 프로젝트 생성
Springboot 프로젝트 생성
2021.12.30