일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- resilience4j
- 토이프로젝트
- 주니어개발자
- 상속모델
- SpringBoot
- 일급함수
- 객체비교
- 좋은코드란
- 운영체제
- 2차원배열 정렬
- DI
- 마이크로서비스패턴
- circular dependency
- 컨트리뷰팅
- Not Null constraint failed
- GraphQL
- 함수형프로그래밍
- n poem
- Spring
- 프로젝트설정
- IOC
- cannot import name
- Java
- Npoem
- bulk_create
- circuitbreaker
- bean-validator
- 쿼리셋합치기
- django
- API문서화
- Today
- Total
목록IOC (2)
코딩 하는 가든
이전 글에서 DI의 개념과 Spring에서의 DI가 어떻게 이루어지는지 살펴보았습니다. 대략 아래와 같은 구조로 이루어 진 객체들이 어떻게 의존성 주입이 일어나는지 코드를 통해 알아보겠습니다. 먼저 객체가 IoC컨테이너에 의해 관리되려면 스프링 Bean 등록을 해야 합니다. Bean으로 등록하는 방법은 xml 설정과 자바 코드로 등록하는 방법이 있는데 여기서는 자바 코드로 등록을 해보겠습니다. 다음과 같은 Battery 클래스가 있습니다. 이 Battery 클래스를 스프링 빈으로 등록해보겠습니다. (간단한 예시여서 따로 게터, 세터로 관리하지 않았습니다.) 스프링 Bean으로 등록을 하기 위해선 먼저 @Configuration 어노테이션을 가진 클래스를 하나 생성합니다. 그리고 @Bean 어노테이션을 가..
DI란? DI는 Dependency injection(의존성 주입)의 줄임 말로 어떤 객체가 다른 객체의 의존성을 제공 하는 것입니다. 어떤 장난감이 있고, 그 장난감이 작동 하기 위해서는 건전지가 필요하다고 가정 해 보겠습니다. 위의 상황을 소스 코드로 표현 하면 다음과 같을것 입니다 Toy toy = new Toy(); Battery batteryA = new Battery(); // 배터리 A를 주입 toy.setBattery(batteryA); 위처럼 Toy가 정상 작동 하기 위해서는 Battery가 필요합니다. 다시 생각해 보면 Toy는 Battery에 의존적임을 알 수 있습니다. 이 상황을 그림으로 나타내보면 다음과 같습니다. 하지만 이같은 상황에는 문제점이 있는데, A 건전지를 B 건전지로 ..