본문 바로가기

스프링 기초2

스프링 기초] IoC 제어의 역전과 프레임워크 그리고 라이브러리. IoC(Inversion of Control) 제어의 역전을 의미하는데 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것을 제어의 역전(IoC)라 한다. 즉, 쉽게 이야기하면 내가 무언가를 호출해서 직접 실행하는 것이 아닌 프레임워크 같은 것이 대신 호출을 해주는 것이다. 그렇기 때문에 이름 자체가 제어의 역전이다. 말 그대로 제어하는 것이 역전되 버렸다! 위에 언급한 것 중 프레임워크가 있는데 이 IoC의 개념의 관점에서 설명하기 아주 좋은 예이다. 프레임워크와 라이브러리의 차이? 제어의 역전(IoC) 라는 개념의 관점에서 보면 프레임워크는 내가 작성한 코드를 제어하고, 대신 실행시켜주는 것이고 라이브러리는 내가 작성한 코드가 직접 제어의 흐름을 담당하는 것을 말한다. 즉, 제어의.. 2021. 11. 3.
스프링 기초] DI (Dependency Injection)란? 1. DI 의 개념 각 클래스간의 의존관계를 빈 설정 (Bean Definition) 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것을 말함. 개발자들은 단지 빈 설정파일에서 의존관계가 필요하다는 정보를 추가하면 된다. 객체 레퍼런스를 컨테이너로부터 주입 받아서, 실행 시에 동적으로 의존관계가 생성된다. 컨테이너가 흐름의 주체가 되어 애플리케이션 코드에 의존관계를 주입해주는 것이다. 빈 설정을 개발자가 XML, annotation 방식으로 설정을 하면 컨테이너가 빈의 설정 정보를 읽어서 컨테이너가 자동으로 짝짝꿍을 시켜준다. (프로필을 등록하고 프로필에 취미, 성향 등을 보고 자동으로 매칭 시켜주는...? 결혼 정보 업체같은 느낌..?) new 를 사용해서 객체를 불러올 필요성이 없어진다? 2. DI의.. 2019. 5. 21.