일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 자바
- 2019 KAKAO BLIND RECRUITMENT
- 비트마스크
- gcp
- 2019 카카오 공채
- dfs
- 2020 카카오 공채
- CS 스터디
- 2018 카카오 공채
- 2018 카카오
- bfs
- 2019 카카오 개발자 겨울 인턴십 코딩테스트
- 알고리즘
- 백준
- 카카오
- 삼성 SW 기출문제
- 젠킨스
- 2018 KAKAO BLIND RECRUITMENT 1차
- set
- 부스트코스
- 2018 KAKAO BLIND RECRUITMENT
- 2020 KAKAO BLIND RECRUITMENT
- c++
- 삼성 SW 역량테스트
- 프로그래머스
- 카카오 공채
- map
- Java
- Baekjoon
- gradle
Archives
- Today
- Total
아무코딩
[스프링] DI 방식 두가지 비교 (생성자 vs 세터 메서드) 본문
- 생성자 방식 : 빈 객체를 생성하는 시점에 모든 의존 객체가 주입된다.
- 설정 메서드 방식 : 세터 메서드 이름을 통해 어떤 의존 객체가 주입되는 지 알 수 있다.
각 방식의 장점은 곧 다른 방식의 단점이다.
생성자 방식 장점 : 빈 객체를 생성하는 시점에 필요한 모든 의존 객체를 주입받기 때문에 객체를 사용할때 완전한 상태로 사용할 수 있다.
생성자 방식 단점 : 각인자가 어떤 의존 객체를 설정하는지 알아내려면 코드를 다 읽어봐야된다.
세터 메서드 방식 장점 : 메서드 이름만으로도 어떤 의존 객체를 설정하는지 쉽게 유추가 가능하다.
세터 메서드 방식 단점: 필요한 의존 객체를 전달하지 않아도 빈 객체가 생성되기 때문에 객체를 사용하는 시점에 NullPointException 이 발생할 수 있다.
Reference
참고 도서 : 스프링5 프로그래밍 입문 - 최범균 저
'Spring+웹' 카테고리의 다른 글
[스프링] 이클립스 톰캣 설정(Mac OS) (0) | 2020.05.13 |
---|---|
[스프링] AOP 와 프록시 패턴 (0) | 2020.05.13 |
스프링 DI (0) | 2020.04.26 |
[웹/부스트코스] Servlet Lifecycle (0) | 2020.04.24 |
[웹] Servlet (0) | 2020.04.23 |
Comments