스프링 기본 요소

froajnzd·2024년 7월 17일
0

java

목록 보기
5/11
post-thumbnail

이건 알고 스프링 해보자

스프링 뭐 그거 뭐있는데 하셨다면 요로코롬 있답니다

여러분은 이 중 아는 것은 몇 개인가요?
아니면 모르는 것은 몇 개인가요?

어떤 걸 세는 게 더 쉬우신지요.....?

아무래도 처음부터 모든 것을 다 안다는 것은 어렵겠지요

그럼 일단 이 주요 개념 4개 먼저 알아야 하지 않을까..! 한게 이 포스팅의 시작이었습니다.

본론에 바로 들어가보자면

  • Spring Beans
  • Spring(DI/IoC) Container
  • IoC
  • DI

이 네 개가 그래도 스프링에서 알아야 할 개념이 아닐까..?라고 볼 수 있습니다.
차근 차근 개념에 대해 설명해보겠습니다.

Spring Bean

Bean은 스프링에서 객체를 뜻합니다.
스프링이 관리하는 객체를 말하지요.

객체는 생성부터 소멸까지 하나의 생명주기를 가지고 있습니다.

이 Bean의 생명주기는
'생성', '의존성 주입', '사용', '소멸'의 단계로 구분할 수 있습니다.

일단 여기까지 얘기해 보도록 하겠습니당。˃̵͈̑ᴗ❛。

Spring Container

스프링 컨테이너는 DI Container, IoC Container 라고도 불립니다.

엥 아직 DI, IoC 안말했는데? 할 수도 있는데
DI와 IoC는 스프링의 핵심 개념이며, 이 개념들을 가지고 구현한 프레임워크가 스프링이다~라고 생각만 하시면 됩니다!

아하, DI와 IoC가 스프링을 구현한 핵심 개념이므로 그 말로도 대체할 수 있구나~~

스프링 컨테이너는 스프링 빈을 관리하는 상자입니다.

앞서 말했듯이 빈의 생명주기를 전부! 관리해주는 아주 똑똑한 녀석이지요
빈을 생성하고, 필요한 곳에 빈을 제공하는 역할을 수행합니다!

스프링의 WebApplicationContext이 스프링 컨테이너를 구현하고 있는 클래스입니다!

IoC

IoC 설명은 조금 더 추상적일 수 있습니다

Inversion of Control 입니다.

한국말로 제어의 역전이라고 합니다.

제어가 역전되었다.
제어는 뭐고 역전은 뭐지..?
한국말로 번역하니 더 어려워지는 느낌이 듭니다.

간단히 말해서,
객체의 생성(new), 소멸을 스프링 프레임워크가 해준다는 말입니다.
우리가 하지 않습니다..!

자바 프로그래밍에서는 원래 객체 제어를 개발자가 했었는데,
이를 스프링의 역할로 바꿨다~ 즉, 객체 제어권을 역전 시켰다는 말입니다

이제 조금은 이해되실까요???

"Don’t call us, we'll call you. "

이 말은 Hollywood Principle 이라는 말이다. 진짜 할리우드에서 말한 건 아닌것 같고 할리우드 스타일을 표현하는 말인 듯 하다.

우리를 부르지 말라. 우리가 너를 부를 것이다.
이 말이 IoC 개념을 잘 나타내는 말인 것 같다.

DI

Dependency Injection 이다.

한국말로 의존성 주입

의존성이란? 사용 하는 것, 사용할 것 이라고 해석하고

Injection == 주입하는 것.

  • 주사를 놓다
  • 액체를 넣다
  • 자금을 넣다

영어에서는 이런 뜻으로 쓰인다고 한다.
injection은 외부에서 대상을 넣는 느낌이 든다.

즉, 객체 간의 결합 (의존 관계)를 외부에서 주입해주는 것(주입해서 연결해주는 것)이다.

개발자가 쓰고 싶은 객체를 스프링이 준다

profile
Hi I'm 열쯔엉

0개의 댓글