본문 바로가기

Inversion of Control2

[Spring] Bean? DI? 이제는 친해지자! "Spring"이라 했을 때 많이 나오는 키워드 중 하나는 바로 DI, 즉 의존성 주입이다. 도대체 이게 왜 Spring의 키워드일까? 그 이유는 바로 Spring이 이 DI 과정을 알아서 해 주기 때문이다. 최근에 Spring 공부를 다시 시작하게 되었는데 아주 간단하게 DI에 대해 알아보자! 먼저, DI란 뭘까? DI (Dependency Injection): 의존성 주입 고객 관리 서비스를 개발할 때 고객을 관리하는 Service Class가 있으면 고객의 데이터를 다루는 Dao Class가 있을 것이다. 이 경우 아래와 같이 두 Class간의 의존성이 생기게 된다. class MemberService { private MemberDao memberDao = new MemberDao(); } Mem.. 2022. 9. 24.
[Spring] IoC 컨테이너란? (IoC: Inversion of Control) IoC (Inversion of Control) 제어권의 역전 (일반적으로 제어권이란 자기가 사용할 의존성은 스스로 만들어서 사용하는 것을 의미) 제어권이 역전되었다는 것은 다른 누군가가 의존성을 외부에서 줌(DI: Dependency Injection 알아보기)을 의미한다. Spring IoC Container Bean을 구성하고 제공하는 컨테이너. 오브젝트에 대한 제어권을 코드 대신 갖고 있다고 해서 IoC라고 부른다. BeanFactory와 ApplicationContext 두 가지가 있다. BeanFactory Bean의 생성과 설정 및 관리를 맡고 있다. Bean을 등록, 생성, 조회, 반환 관리함. 보통은 이를 확장한 ApplicationContext를 사용함. getBean() 메소드가 정의.. 2021. 5. 2.