본문 바로가기

프레임워크(Framework)/Spring

스프링 Core?

💐🌸🌻🌼🌷🌹🏵️🪻💮

 

 

인간에게도 코어 근육이 중요한 것처럼 스프링에서의 코어도 매우 중요하다.

그렇다면 스프링 코어는 어떤 것들이 있을까?

 

 

IoC (Inversion of Control)

 

제어의 역전?

짧게 한 줄로 요약하자면 개발자가 아닌 스프링 컨테이너에게 설정을 통해 제어권을 넘기는 것이다.

나는 역전을 역할의 전환으로 표현하고 싶다.

즉, 원래 개발자가 가진 통제권을 180도 상황이 바뀌어 스프링이 가지게 되어 객체(스프링 빈)를 제어한다. 

 

컨테이너

 

IoC/DI/스프링 컨테이너는 무엇일까?

컨테이너 박스를 생각하자

그럼 무엇이 담겨 있을까? 

그동안 객체를 만 번은 얘기한 것 같다.  

참고로 컨테이너도 객체이다. 객체에 객체들이 모여있다.

 

스프링 빈 

 

스프링 빈은 객체이다.

즉, 위에서 언급한 컨테이너는 스프링 빈을 담는다. 

 

DI (Dependency Injection)

 

의존성 주입?

이젠 개발자가 'Spring아 나 이거 쓸꺼야'라고 선언한다. 

그러기 위해선 결국 내가 의존성을 주입 받아야 한다. 

 

 

한 줄로 요약하자면,

IoC를 통해 스프링 컨테이너에게 객체의 제어권을 넘기는 데 우리는 결국 서비스를 만들기 위해 스프링 컨테이너에게 '나 이거 만들어야 하니까 너 이거 줘'라고 의존성 주입(DI)을 통해 사용할 수 있다.

 

=> IoC를 구현하기 위해 DI가 필요하다 !!

 

'프레임워크(Framework) > Spring' 카테고리의 다른 글

Setter 왜 쓰는지 알고 사용하자!  (0) 2024.07.20
@Comonent? @ComponentScan? @Autowired?  (0) 2024.07.17
SOLID?  (0) 2024.07.16
[주문을 JAVA]KPT 회고  (0) 2024.07.15
클린 코드(Clean Code)  (0) 2024.07.09