[Spring] 스프링의 핵심은 무엇인가?

JOY·2022년 1월 29일
0

[Spring]

목록 보기
1/18
post-thumbnail

📌 스프링의 핵심은 무엇인가?

스프링과 스프링 부트 간단히 알고 가기

  • 스프링 Spring

    자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크
  • 스프링 부트란?

    스프링 프레임워크 기반 프로젝트를 복잡한 설정없이 쉽고 빠르게 만들어주는 라이브러리 (설정을 간소화한 도구)

1. 스프링은 프레임워크이다.

Framework = Frame(틀) + work(동작하다)

쉽게 말해 틀 안에서 동작한다는 뜻이다.

2. 스프링은 오픈소스이다.

공개된 소스코드를 수정하며 코드 생성을 기여할 수 있다.

3. 스프링은 IoC 컨테이너를 가진다.

IoC : Inversion of Control (제어의 역행)
쉽게 말해, 주도권을 스프링한테 뺏긴 것!

Class 👉 설계도
Object 👉 실체화가 가능한 것
Instance 👉 실체화 된 것 (존재)

Aa=newA();
클래스객체heap 메모리에 넣어라생성자

📍 추상적인 것은 실체화가 불가능하다
가구, 과일, 필기구 실체화 불가능! why❓ 추상적 의미이기 때문
의자, 사과, 연필 실체화 가능

Public void make(){
   의자 c = new 의자();
}

개발자가 직접 의자라는 Object를 new 해서 실체화 시킨다.
👉 heap 메모리에 띄워지면서 의자의 주소(reference)는 c가 가지고 있다.

❗ 주소 (reference) 는 각각의 메서드가 관리

  • IoC 쉽게 이해하기
    스프링이 개발자가 클래스로 만들어놓은 Object를 읽어서
    객체들을 직접 heap 메모리 공간에 띄워줌
    의자 Object가 실체화 되어서 Instance가 되었다.

    heap 메모리
    의자
     
     
     

4. 스프링은 DI를 지원한다.

DI : Dependencey Injection (의존성 주입)

IoC(제어의 역행) 을 통해 모든 class의 메소드에서 공유하여 사용할 수 있다.
👉 Singleton (싱글톤 패턴)

Singleton (싱글톤 패턴)

 객체의 인스턴스가 오직 한개만 생성되는 패턴

 메모리 낭비 방지 - 고정된 heap 메모리 영역 사용

 클래스간 공유 가능 - 전역으로 사용되는 인스턴스 이기 때문

profile
Just Do IT ------- 🏃‍♀️

0개의 댓글