Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Proxy 패턴
- timezone error
- 백기선 강좌
- syncronized
- 스프링 프레임워크
- 스프링부트 에러
- 기계학습
- 노션 Formula
- 지도학습
- database error
- PSA
- IoC 컨테이너
- 강좌 정리
- 노션
- krpano
- express
- 강화학습
- Dependency Injection
- 딥러닝
- Do It 정직하게 코딩하며 배우는 딥러닝 입문
- 의존성주입
- 프레임워크
- aop
- 비지도학습
- 스프링 빈
- express-generator
- @Autowired
- 스프링
- 노드
- jetbrains
Archives
- Today
- Total
hyungmuk's blog
스프링 입문 강좌 정리 - 의존성 주입(Dependency Injection) 본문
의존성 주입 방법
생성자, 필드, Setter 중 한곳에 @Autowired 어노테이션을 사용한다.
@Autowired
-
생성자에서의 사용
@Autowired
public OwnerController(OwnerRepository clinicService) {
this.owners = clinicService;
}
스프링 4.3 부터 생성자에서 사용할때 @Autowired를 생략 할 수 있다.
public OwnerController(OwnerRepository clinicService) {
this.owners = clinicService;
}
-
필드에서의 사용
@Autowired
private OwnerRepository owners;
-
Setter에서의 사용
@Autowired
public void setOwners(OwnerRepository owners) {
this.owners = owners
}
스프링 프레임워크 레퍼런스에서 권장하는 방법은 생성자를 이용한 방법이다.
-
생성자 인젝션을 사용할 때 좋은 점은 필수적으로 사용해야 하는 레퍼런스 없이는 해당 클래스의 인스턴스를 만들지 못하도록 강제 할 수 있다.
-
필드나 Setter 인젝션은 레퍼런스 없이도 인스턴스를 일단 만들 수는 있다.
이러한 경우가 장점이 되는 경우는 순환참조(Circular Dependency) 되는 경우이다. A가 B를 참조하고 B가 A를 참조하는 경우에는 생성자 대신에 필드나 Setter 인젝션을 사용한다.
https://www.youtube.com/watch?v=IVzYerodIyg&list=PLfI752FpVCS8_5t29DWnsrL9NudvKDAKY&index=8
'개발 & 공부 > 스프링' 카테고리의 다른 글
스프링 입문강좌 정리 - PSA (0) | 2020.03.28 |
---|---|
스프링 입문강좌 정리 - AOP 애노테이션 (0) | 2020.03.27 |
스프링 입문강좌 정리 - AOP (0) | 2020.03.24 |
스프링 입문 강좌 정리 - 빈 (Bean) (0) | 2020.03.19 |
스프링 입문 강좌 정리 - IoC 컨테이너 (0) | 2020.03.19 |