Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Protecle
- @EntityListeners
- 운동해서 광명찾자
- 버전 문자열 비교
- deserializer
- getDateCellValue
- AuditingEntityListener
- RootGraph
- https
- MSSQL
- createEntityGraph
- MYSQL
- load order
- pooled-lo
- @CreateDate
- yml
- 1*1000
- EmbeddedId
- mysql equal null
- mysql =
- +9:00
- 티스토리챌린지
- mysql not equal null
- apatch poi
- getEntityGraph
- sendFractionalSeconds
- 오블완
- spring boot
- fractional seconds
- NamedEntityGraph
Archives
- Today
- Total
Hello
2019.08.04 본문
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 |