티스토리 뷰
1. 생성자 주입
- 생성자의 위에 @Autowired 를 사용하여 빈으로 등록된 객체를 주입하는 방식으로, 의존 관계가 실행 중에 변경되는 일이 없으므로 가장 추천되는 방식이다.
- 생성자가 하나만 있을 때는 @Autowired를 생략 가능하다.
- 아래의 경우에는 MemberRepository가 등록되어 있는지 찾아서 주입해주고, 없을 경우 컴파일 에러를 낸다.
@Autowired
public MemberService(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
2. Setter 주입
- 생성이 아닌 호출될 때 주입하는 방식이다.
- 언제든 변경할 수 있는 Setter이므로, final이 빠져야 하며, 이 때문에 누구에 의해서든 setter가 호출될 수 있으므로 위험하다.
3. 필드 주입
- 변수 앞에 선언하는 방식이다.
- 다만 순환참조가 발생할 수 있으므로 권장되지 않는 방식이다. (순환참조가 발생하면 실제 코드가 호출되기 전까지 문제를 발견할 수 없다. 생성자를 통해 주입하면 실행 시 오류가 발생한다.)
'TIL' 카테고리의 다른 글
| [WIL] 셋째주 회고 - IoC, Bean, DI (0) | 2022.05.29 |
|---|---|
| [Spring Boot] Controller: Response (0) | 2022.05.28 |
| [Spring] Controller, Service, Repository & Spring MVC (0) | 2022.05.26 |
| [Spring Boot] IoC, DI, 컨테이너 (0) | 2022.05.23 |
| [Spring Boot] Bean & Component (0) | 2022.05.23 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 배열
- 고민
- 임포트
- 단항연산자
- 항해99
- 서버환경
- overfatching
- 스프링부트
- 상속
- controller
- 패키지
- OneToMany
- clean-up policy
- jinja2
- MVC
- GIT
- Java
- ManyToMany
- toCharArray
- DI
- AssertJ
- 제어자
- AfterEach
- 자바의정석
- 몽고db
- ORM
- ResetController
- ManyToOne
- IOC
- bean
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함
