일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 일급함수
- 좋은코드란
- n poem
- bulk_create
- bean-validator
- SpringBoot
- 프로젝트설정
- Not Null constraint failed
- Spring
- 상속모델
- DI
- 쿼리셋합치기
- circular dependency
- 운영체제
- 마이크로서비스패턴
- 2차원배열 정렬
- GraphQL
- Npoem
- 컨트리뷰팅
- 함수형프로그래밍
- cannot import name
- resilience4j
- Java
- 주니어개발자
- 토이프로젝트
- 객체비교
- circuitbreaker
- django
- API문서화
- IOC
- Today
- Total
목록DI (3)
코딩 하는 가든
의존성 주입을 받는 여러 가지 방법 스프링 프레임워크에서는 IoC 컨테이너를 통해 의존성 주입을 받는다는 것을 이전 글에서 알아보았습니다. 앞선 글에서는 컨테이너에서 꺼낸 배터리 빈을 Toy의 생성자로 넣어 주었습니다. 이는 의존성 주입의 한 종류라고 볼 수 있겠습니다. 스프링 프레임워크에서 의존성을 주입 받는 방법은 크게 3가지 정도가 있습니다. 1. 생성자를 통한 주입 2. Setter를 통한 주입 3. 필드를 통한 주입 각각의 방법에 차근차근 알아보겠습니다. 우선 세 방법에 대해 보기 전에 @Autowired 어노테이션에 대해 알아야 합니다. 이전 글에서 우리는 Battery Bean을 찾아 Toy 객체에 직접 넘겨주는 작업을 했습니다. 프로젝트에는 무수히 많은 Bean과 그들의 의존 관계가 있을 ..
이전 글에서 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 건전지로 ..