WIL 03

안승현·2022년 7월 31일
0

회고

목록 보기
3/9

스프링 bean과 di와 ioc에 대해서 찾아보고 간략하게 정리를 해보려고 합니다.

DI

우선 스프링은 객체지향 프로그래밍을 할 때 객체들간 결합을 느슨하게 하길 권장한다.

이유는 너무 의존관계가 높아진다면 유지보수시 수정을 할때 상위 클래스 부터 모든것을 바꿔야될지도 모른다.

그렇기 때문에 서로간의 의존 관계를 낮추는 개념이 di(Dependency Injection)이다.

코드로 설명을 하자면

이런식으로 한다면 b를 수정할 경우에 a를 수정해야된다.

하지만 이런식으로 할 경우에는 b가 바뀌어도 의존 결합성이 낮기때문에 조금 더 유연한 프로그래밍을 할 수 있다.

의존성 주입은 3가지 방법이 있으며

  1. 생성자 주입
  2. 필드 주입
  3. 수정자 주입(setter injection)이 있다.

bean

빈은 쉽게 설명을 하자면 스프링 ioc컨테이너에서 관리 해주는 객체를 빈이라고 불른다.
그러나 new로 생성한것은 bean이 아니고 ApplicationContext에서 가져온것을 bean이라고 부른다.

ioc

그럼 ioc는 무엇인가? 라고 한다면
스프링 프레임 워크에서 객체를 관리하고 책임지고 의존성을 관리해주는 컨테이너가 ioc이다.(스프링 컨테이너)

인스턴스 생성부터 소멸까지 인스턴스 생명주기 관리를 개발가자 아닌 컨테이너가 대신 해준다.
객체 관리 주체가 프레임워크(컨테이너)가 되기 때문에 개발자는 로직에 집중할수 있다.

ioc에서 di를 사용해서 의존성을 주입하며 bean 객체를 관리한다.

참고
https://dev-coco.tistory.com/70
https://dev-coco.tistory.com/80

0개의 댓글