일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DDD
- nestjs
- 스프링 공부
- JPA스터디
- 코테공부
- 플러터 공부
- 스프링부트
- 스프링공부
- 카프카
- querydsl
- 스프링부트공부
- Flutter
- JPA 공부
- nestjs공부
- Kafka
- 자바공부
- JPA공부
- nestjs스터디
- JPA
- 프로그래머스
- Axon framework
- 알고리즘공부
- JPA예제
- 코테준비
- 자료구조공부
- 기술공부
- 플러터 개발
- K8S
- 스프링
- 기술면접공부
- Today
- Total
목록스프링 di (3)
DevBoi
기존에는 xml에서 특정 빈에 대한 설정을 하고, 해당 설정을 통해서 관리가 되었다. 해당 xml에서 빈을 생성하고, set으로 특정 빈을 넣고, 그리고 리스트 형식으로 넣기도하고 등등 이방식에서 어노테이션 방식으로 편하게 변화했기 때문에 해당 내용으로 변경해보자 쉽게 말하면 , config 파일을 xml 파일이 아닌, 자바 파일로 설정하는 것이다. 이런식으로 하면, 우선 빈이 생성된다. 단 주의 점이, @Bean에서의 생성자는 예를 들면 exam() exam이 bean id가 되는 것이다. 쉽게 말하면 bean어노테이션으로 붙으면 메소드 명이 bean id 가 되고, 명사형이 아니다. 우선 config 파일을 바꿨다. 기본 생성자가 아닌, console에서는 exam이 필요하기 때문에 해당 autowi..
DI : 의존성 주입, 종속성 주입 해당 케이스에서는 B는 A의 부품이라고 얘기를 한다.(B는 A에 종속된다.) 해당 DI작업은 부품을 injection하는 작업이 번거롭다는 단점이 있다.(하지만 이 Injection 작업은 스프링이 해준다. 별도 간단하게 명시만 하면 스프링이 알아서 결과물을 알려준다.) DI를 하는이유) Store에서 pencil을 정의 하여, 사용한다. 만약에 Store에서 pencil이 아니라 지우개나 다른 상품을 사고싶다고 하면? 그렇게 되는 경우, pencil을 바꿔야한다. Store의 변경은, 해당 판매 상품을 바꾸고자 할때마다 발생하게 된다. 이러한 경우를 유연성이 떨어지고, 결합도가 높은 관계를 가진다고 이해하면된다. 이러한 문제를 해결하기 위해서는 다형성이라는 개념으로 ..
스프링의 코어는 제어 역전의 원칙을 기반으로한다. Ioc : 컴포넌트의 의존성의 생성 및 관리를 외부화 하는 기법이다. Ioc란, 예를 들어 특정 A라는 클래스에서, B라는 클래스의 인스턴스를 사용하는 경우, 가져오는 경우이다. 전통적인 방법으로는 Foo가 new 연산자를 사용해 인스턴스를 생성하거나, 팩토리를 이용해 인스턴스를 가져온다. 하지만 Ioc 접근 방식을 통하면, 런타임 시점에 Foo에게 제공된다. 이런 런타임 시점에 의존 관계에 대해서 주입을 하는건 DI라는 이름으로 바뀐다. DI : 자바빈과 인터페이스를 근간으로 한다. 스프링 DI 제공자로 사용하면 애플리케이션 내에서 여러가지 방식으로 의존성 설정을 유연하게 설정할수 있다. (외부 xml 파일, 스프링 사바 설정 파일, 어노테이션 등등) ..