일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- IntellJ
- SpringBoot
- 보조스트림
- 토비의 스프링
- Stream
- 쿠버네티스
- spring
- mysql
- JPA
- Collection
- redis
- 백준
- 이스티오
- 스트림
- GC
- thread
- 토비의 스프링 정리
- list
- gradle
- Real MySQL
- MSA
- jvm
- OS
- 스프링
- 자바
- Stack
- Java
- 자바 ORM 표준 JPA 프로그래밍
- Kotlin
- K8s
Archives
- Today
- Total
인생을 코딩하다.
[Spring] 생성자 주입(autowired 3가지 방법) 본문
728x90
반응형
의존성 주입의 종류로는 Constructor, setter, field 타입이 있다.
생성자 주입 (Constructor)
Setter 주입
Field 주입
클린코드를 위해서는 필드 주입보다 생성자 주입을 권한다. 간단히 정리하자면
- NullPointExcepton을 방지할 수 있다.
- 객체에 final 키워드를 사용 할 수 있다.
- 순환 참조를 앱 구동시 검출 할 수 있다.
- 생성자의 인자가 많아지면 코드가 더러워져 리팩토링을 하게 된다.
Spring Document에 나와있는 내용에도
필드주입은 언급도 안하고, 생성자 기반 주입(Construcor Base Injection)과 수정자 주입(Setter Base InJection)의 차이점에 대해서 설명하고 있다. 또한 생성자 기반 주입을 옹호한다고 나와있다.
728x90
반응형
'Spring' 카테고리의 다른 글
[Spring] checked exception을 unchecked exception으로 변경해서 던져야 하는 경우 (0) | 2020.10.22 |
---|---|
[Spring] ArgumentMatcher<T> (단위테스트 할 때) (0) | 2020.10.21 |
[Spring] Spring Boot Devtools (0) | 2020.09.22 |
[Spring] Spring Boot 시작 및 기초 (2) | 2020.09.20 |
[Spring] 의존성 주입(DI)과 스프링 및 테스트코드 (0) | 2020.09.12 |
Comments