dubiju
쟈근개발자_성장기록
dubiju
전체 방문자
오늘
어제
  • 분류 전체보기
    • Micropython
    • 자료구조&알고리즘
    • 언어
    • CS
    • DB
    • Spring
    • Project
    • 취업
    • TIL
    • etc
    • BE42

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

티스토리

hELLO · Designed By 정상우.
dubiju

쟈근개발자_성장기록

[Spring의 특징] 2. IoC
Spring

[Spring의 특징] 2. IoC

2022. 12. 9. 17:53
더보기

Spring의 특징

1. POJO

2. IoC

3. DI

4. AOP

5. PSA

 

IoC(Inversion of Control)

애플리케이션 흐름의 주도권을 Spring이 갖는다. (제어의 역전)

애플리케이션 흐름의 주도권

Library: 개발자, Framework: Framework

 

애플리케이션 흐름의 주도권이 뒤바뀐 것을 IoC(Inversion of Control)라 한다.

 

Java 콘솔 애플리케이션의 일반적인 제어권

: 개발자가 작성한 코드를 순차적으로 실행

 

Java 웹 애플리케이션에서 IoC가 적용되는 예

Java 콘솔 애플리케이션의 경우 main() 메서드가 종료되면 애플리케이션의 실행이 종료된다.

 

하지만 웹에서 동작하는 애플리케이션의 경우 클라이언트가 외부에서 접속해서 사용하는 서비스이기 때문에 main() 메서드가 종료되지 않아야한다.

 

> main() 메서드처럼 애플리케이션이 시작되는 지점을 Entry Point라 한다.

 

그렇다면 main() 메서드가 없는데 애플리케이션이 어떻게 동작하는 것일까?

 

서블릿 컨테이너의 경우, 클라이언트의 요청이 들어올 때마다 서블릿 컨테이너 내의 컨테이너 로직(service() 메서드)이 서블릿을 직접 실행시켜 주기 때문에 main() 메서드가 필요 없다.

 

이 경우 서블릿 컨테이너가 서블릿을 제어하고 있기 때문에 애플리케이션의 주도권을 서블릿 컨테이너에 있다.

서블릿과 웹 애플리케이션 간에 IoC의 개념이 적용되어 있는 것이다. 

 

Spring에는 IoC 개념이 어떻게 적용되어 있을까? DI

 

'Spring' 카테고리의 다른 글

DTO에 대해 알아보자  (0) 2022.12.16
Spring MVC란?  (0) 2022.12.15
[Spring의 특징] 5. PSA  (0) 2022.12.13
[Spring의 특징] 1. POJO  (0) 2022.12.09
Spring Framework 알아보기  (0) 2022.12.06
    'Spring' 카테고리의 다른 글
    • Spring MVC란?
    • [Spring의 특징] 5. PSA
    • [Spring의 특징] 1. POJO
    • Spring Framework 알아보기
    dubiju
    dubiju

    티스토리툴바