Hello

2019.08.04 본문

try

2019.08.04

nari0_0 2019. 8. 4. 21:35
728x90

오랜만의 블로그 놀이ㅎ..

의존성 - A객체가 객체 없이 동작할 수 없다면 A는 B를 의존한다고 말합니다.

의존을 시키는 방법은 new를 통한 방법과 외부로 부터 주입받아 사용하는 방법이 있습니다.

이 방법의 차이는 A객체가 B객체를 생성하고 사용하기 위해 능동적으로 작성되는지 수동적으로 작성되는지 차이가 있습니다.

  • 수동적인 방법은 new를 통해 생성해 객체에 의존할 수 있도록 것입니다. (합성)
  • 능동적인 방법은 외부로부터 객체를 받아서 의존성을 주입하는 것입니다. (집약)

 

new를 통해 직접 생성 하는 경우 문제

  • B가 변경 될 경우 A도 변경 되어야 합니다.
  • 두 객체간 결합도가 강하다.

spring-DI (Dependency Injection)

  • 객체를 new를 통해 생성하지 않고 미리 생성된 객체를 spring으로 받아 사용한다.
  • A객체의 입장에서 어떤 B객체 인지 신경쓰지않고 주입받은 객체를 그저 사용하기만 하면 된다.
  • 주입받는 객체는 spring container에 생성된 객체이며 요청에 따라 객체를 주입하고 생명주기를 관리한다.
  • 우리는 spring이 객체를 로드해서 container에 갖고 객체 사이의 의존관계를 처리 할 수 있도록 java 혹은 xml로 설정을 작성해야한다.
  • was가 로드 된 후 spring context 메모리 영역이 생성되고 설정파일을 읽어 객체를 생성해 container에 담아둔다.

전략패턴 

  • DI의 핵심이다.

작성은 다음시간에 

DI 사용 방법

  • 생성자

  • 맴버변수

  • setter

 

테스트에 관해서는 다음 이시간에..

728x90

'try' 카테고리의 다른 글

2019.09.01  (0) 2019.09.01
2019.08.12  (0) 2019.08.12
2019.08.12  (0) 2019.08.12
2019.06.06  (0) 2019.06.06
2019.05.29  (0) 2019.05.29