2023-04-28

[1] 스프링? 스프링 부트? 개념 정리

스프링과 스프링 부트에 대해 천천히 개념 정리하며 공부하기 위한 포스팅이다.

What is Spring?


1. 스프링이란?

Spring?

2. 스프링의 특징

  1. 자바 객체 & 라이브러리의 관리 용이
  1. WAS ( ex. Tomcat )가 내장
  1. 기존 웹 서버 개발에 필요한 코드 양에 비해 적은 코드를 가지고 개발 가능
  1. IOC ( Inversion Of Control ) 을 지원
    • 객체의 생성 & 소멸을 스프링이 제어 → 생성된 객체를 스프링이 관리
  1. DI ( Dependency Injection ) 을 기반으로 작동
    • 객체를 외부에서 생성하여 사용하려는 객체에게 제공

What is Spring Boot?


1. 스프링 부트란?

Spring Boot?

  • 스프링 을 더 쉽게 사용하기 위한 도구

Why use it?

  • 기존 스프링의 경우, 처음 프로젝트 사용을 위한 기본 설정을 직접 진행한다. → Spring 의 많은 부분을 자동화 하여 비즈니스 부분에 집중하기 위해 사용한다.

Spring Modules


Spring 모듈 종류?

  • Data Access / Integration
    데이터 통합 접근 관련 모듈
  • Web
    웹 통신 모듈
  • AOP & Aspects
    AOP ( Aspect-Oriented Programing ):
    핵심 로직을 포함하여 기능들을 분리하여 모듈화 하여 재사용할 수 있게 해주는 모듈
    Aspects:
    AOP의 기본 모듈로, 부가 기능을 정의한 코드와 정의한 코드를 어디에 적용할 지를 결정하는 포인트를 합친 개념
  • Instrumentation
    JVM ( Java Vertual Machine )에 사용자 입력에 따른 서비스를 수행하는 프로그램을 추가하는 모듈
  • Messaging
    메시지라는 개념 기반 애플리케이션을 작성할 수 있도록 도와주는 모듈
  • Core Container
    스프링 프레임워크의 핵심인 빈(객체) 생명주기와 설정, 처리를 관리하는 컨테이너(모듈)
  • Test
    테스트를 진행할 수 있도록 해주는 모듈
잘못된 정보의 비판은 언제든 환영합니다.