출처
[Spring] Spring IoC와 DI (tistory.com)
[Spring] Spring IoC와 DI
[Spring] Spring IoC와 DI 1. IoC(Inversion of Control)이란? IoC란 Inversion of Control의 약자로 해석하자면 제어의 역전이다. 제어의 역전, 온통 한문이라 뜻이 와닿지 않는다. 그래도 해석하자면 제어, 즉..
gangnam-americano.tistory.com
[Spring] 스프링 IoC :: 부로그 (tistory.com)
[Spring] 스프링 IoC
IoC란? :Inversion Of Controller 즉, 제어권의 역전 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는게 아니라, 주입받아 사용받는 방법. 코드를 예시로 설명해보자. 어떤 객체(BookService)가 사용
kfintech.tistory.com
새로 공부한 것
IoC란?
:Inversion Of Controller 즉, 제어권의 역전
어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는게 아니라, 주입받아 사용받는 방법.


코드를 예시로 설명해보자.

어떤 객체(BookService)가 사용하는 의존 객체(BookRepository)를 직접 만들어 사용하는게 아니라,
어떤 장치(생성자)를 이용해서 주입을 받아서 사용하는 방법을 IoC라고 한다. 위와 같은 방법을 스프링에서 제공해주고 있다.

직접 만들어 쓰는 예시
IoC 컨테이너
- Bean: Spring IoC가 관리하는 객체
- Container: Bean들을 담고있는 저장소
- DI(Dependency Injection): 의존성 주입. 객체를 외부로부터 주입해주는 작업을 DI라고 한다. DI는 IoC의 일종.
- IoC 컨테이너
- Object의 생성과 관계설정, 사용, 제거등의 작업을 대신 해준다. IoC 컨테이너는 Bean을 저장한다고 하여, BeanFactory라고도 불린다.
- Bean 설정소스로부터 Bean 정의를 읽어들이고, Bean을 구성하고 제공한다.
- 스코프
- 싱글톤: 하나만 만들어서 사용. 효율적
- 프로토타입: 매번 다른 객체를 사용
- BeanFactory: IoC 컨테이너의 가장 최상위에 있는 인터페이스.
- ApplicatinContext: BeanFactory를 상속받은, 실질적으로 가장 많이 쓰이는 인터페이스. 다양한 기능이 추가되어있다.

장점
: Spring IoC 컨테이너에 등록되있는 Bean들에..
- 의존성 관리
- 스코프
- 라이프 사이클 인터페이스
를 제공한다.

Bean
: 스프링 컨테이너에 의해 생성되는 자바의 "객체"

Bean 등록 방법



느낀 점
개발자가 처음 부터 끝까지 코드를 만들지 않아도,
스프링이 알아서 개발자가 필요한 코드를 유추하고 만들어 주는 부분이 굉장히 신기하였습니다.
내게 아쉬웠던 점
비록 아직 처음 배우는 부분이 많아서 이해가 된다기 보다는 복사 붙여놓기를 통해서,
"어... 작동되네?" 의 개념정도이지만, 빨리 익숙해 지면 유용하게 사용 할 수 있을 것 같다는 생각을 하였습니다.
그러기 위해서는 최대한 코드를 많이 작성 해 보는 방법 밖에 없을 것 같습니다. ㅎㅎㅎㅎㅎ;
'일기 > 항해99' 카테고리의 다른 글
[항해99 6기]회원가입 유효성검사 - 타임리프 (0) | 2022.03.31 |
---|---|
[항해99 6기] Spring 2주차 - 인가 문제 (0) | 2022.03.30 |
[항해99 6기] 블로그 만들기 [모달을 이용한 기록] (0) | 2022.03.22 |
[항해99 6기] 2주차 개발일지 회고 (객체 지향 프로그래밍과 JVM정리) (0) | 2022.03.20 |
[항해99 6기] 3주차 주특기교육 시작 spring) (0) | 2022.03.19 |