π 곡λΆνκ² λ κ³κΈ°
Spring μμ‘΄μ± μ£Όμ μ λν΄μ @Autowired μ μμ±μ μ λλ§ μκ³ μμλλ° Setter λ°©λ²λ μλ€κ³ ν΄μ κ° λ°©λ²μ λν΄ μ 리ν΄λ³΄κ³ , μ΄λ€ λ°©μμ΄ ν¨μ¨μ μΈμ§λ ν¨κ» μμλ³΄κ³ μ νλ€.
1οΈβ£ Field Injection : @Autowired μμ± (μμ‘΄μ± μ£Όμ μμ : λ°νμ)
μμ±μ @Autowired μ΄λ Έν μ΄μ μ μ μ©νμ¬ κ°μ²΄λ₯Ό μ£Όμ νλ λ°©μ
@Controller
public classs InjectionController {
@Autowired
private InjectionService injectionService;
}
2οΈβ£ μμ±μ (μμ‘΄μ± μ£Όμ μμ : κ°μ²΄ μμ±) (κΆμ₯)
μμ±μλ₯Ό μμ±νμ¬ κ°μ²΄λ₯Ό μ£Όμ νλ λ°©μ
@Controller
public classs InjectionController {
private final InjectionService injectionService;
// μμ±μ
@Autowired // μλ΅ κ°λ₯
public InjectionController() {
this.injectionService = injectionService;
}
}
β€οΈ Tip !
μμ±μ μμ± λ°©μμ κ²½μ° @RequiredArgsConstructor μ΄λΌλ lombok κΈ°λ₯μ ν΅ν΄μ κΉλνκ² μμ±ν μλ μλ€.
@Controller
@RequiredArgsConstructor // μΆκ°
public classs InjectionController {
private final InjectionService injectionService;
}
3οΈβ£ Setter (μμ‘΄μ± μ£Όμ μμ : λ°νμ)
Setter λ©μλλ₯Ό μμ±νμ¬ κ°μ²΄λ₯Ό μ£Όμ νλ λ°©μ
@Controller
public classs InjectionController {
private InjectionService injectionService;
@Autowired
public void setInjectionService (InjectionService injectionService) {
this.injectionService = injectionService;
}
}