νλ μ£Όμ λ°©μ(Field Injection)
: @Autowired μ΄λ Έν μ΄μ μ μ¬μ©νμ¬ ν΄λμ€μ λ©€λ² λ³μμ μ§μ μμ‘΄μ±μ μ£Όμ νλ λ°©μ
@Autowired
private JoinService joinService
μ₯μ
1. κ°νΈν¨(νλ, μμ±μ λλ λ©μλμ κ°λ¨ν λΆμ¬μ μμ‘΄μ±μ μ£Όμ ν μ μλ€ / μ½λκ° μ§§κ³ , μ§κ΄μ μ΄λ©° μ€μ μ΄ κ°λ¨νλ€)
2. μ μ°μ±(νλ, μμ±μ, μΈν° λ©μλ λ± λ€μν μ£Όμ λ°©λ²μ μ§μνλ€ / ν΄λμ€μ ꡬ쑰μ λ°λΌ μ μ ν μ£Όμ λ°©μμ μ νν μ μλ€)
μμ±μ μ£Όμ λ°©μ(Constructor Injection)
: ν΄λμ€μ μμ±μλ₯Ό ν΅ν΄ μμ‘΄μ±μ μ£Όμ νλ λ°©μμΌλ‘ μ£Όμ ν μμ‘΄μ±μ μμ±μμ 맀κ²λ³μλ‘ λ°λλ€...
private final JoinService joinService;
@Autowired
public YourClassName(JoinService joinService) {
this.joinService = joinService;
}
κ·Όλ° μ... μμ±μ μ£Όμ λ°©μμ΄ λ μ’μκΉμ??
1.λΆλ³μ±(Immutability)
- νλ μ£Όμ λ°©μμμλ private νλκ° finalμΌ μ μμ΅λλ€. νμ§λ§ μμ±μ μ£Όμ μ μ¬μ©νλ©΄ μ£Όμ λ μμ‘΄μ±μ finalλ‘ μ μΈν μ μμ΄ κ°μ²΄μ λΆλ³μ±μ 보μ₯ν©λλ€
- μ΄λ κ°μ²΄κ° μμ±λ ν μμ‘΄μ±μ΄ λ³κ²½λμ§ μλλ‘ ν©λλ€
2. ν μ€νΈ μ©μ΄μ±
- μμ±μ μ£Όμ μ λ¨μ ν μ€νΈ μμ λ μ½μ΅λλ€. μμ‘΄μ±μ μ£Όμ νκΈ° μν΄ λ¦¬νλ μ μ΄λ νλ μμν¬μ μμ‘΄νμ§ μκ³ , λ¨μν μμ±μλ₯Ό νΈμΆνλ©΄λ©λλ€
- μ΄λ₯Ό ν΅ν΄ λ κΉ¨λνκ³ κ°λ¨ν ν μ€νΈ μ½λλ₯Ό μμ±ν μ μμ΅λλ€
3. μν μμ‘΄μ± λ°©μ§
- μμ±μ μ£Όμ μ μν μμ‘΄μ±μ μ»΄νμΌ μμ μ κ°μ§ν μ μκ² λ©λλ€. μ΄λ μν μμ‘΄μ±μ λ°©μ§νκ³ , λ λͺ νν μμ‘΄μ± κ΅¬μ‘°λ₯Ό μ μ§νλ λ° λμμ΄ λ©λλ€.
- νλ μ£Όμ μ΄λ setter μ£Όμ λ°©μμμλ μν μμ‘΄μ±μ λ°νμκΉμ§ μ μ μμ΅λλ€
4. λͺ μμ μμ‘΄μ±
- μμ±μ μ£Όμ μ ν΄λμ€κ° μ΄λ€ μμ‘΄μ±μ νμλ‘ νλμ§ λͺ μμ μΌλ‘ 보μ¬μ€λλ€. μ΄λ μ½λμ κ°λ μ±κ³Ό μ μ§λ³΄μμ±μ λμ λλ€.
- λ°λ©΄ νλ μ£Όμ λ°©μμ μμ‘΄μ±μ ν΄λμ€ λ΄λΆμμλ§ μ μ μμ΄, μμ‘΄μ±μ μΆμ νκΈ° μ΄λ ΅μ΅λλ€
=> κ²°λ‘
@Authowired μ΄λ Έν μ΄μ μ μ¬μ©μ΄ κ°λ¨νκ³ μ§κ΄μ μ΄μ΄μ λ리 μ¬μ©λμ§λ§, νλ μ£Όμ λ°©μ보λ€λ μμ±μ μ£Όμ λ°©μμ κΆμ₯ν©λλ€. μμ±μ μ£Όμ λ°©μμ κ°μ²΄μ λΆλ³μ±μ 보μ₯νκ³ μ½λμ λͺ νμ±κ³Ό ν μ€νΈ μ©μ΄μ±μ λμ΄λ©°, μν μμ‘΄μ±μ λ°©μ§νλ λ° λμμ΄ λ©λλ€. μ΄λ¬ν μ΄μ λ‘, μμ±μ μ£Όμ λ°©μμ΄ λ λ§μ΄ κΆμ₯λλ κ²μ λλ€
'Spring' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Spring Security 곡λΆνκΈ° (1) (0) | 2024.05.20 |
---|