λΉ μ€μ½ν
π λΉ μ€μ½ν 1
λΉ μ€μ½νλ?
- λΉμ΄ μ‘΄μ¬ν μ μλ λ²μλ₯Ό λ»νλ€.
λΉ μ€μ½νμ μ’ λ₯
- μ±κΈν€ : κΈ°λ³Έ μ€μ½ν, μ€νλ§ μ»¨ν μ΄λμ μμκ³Ό μ’ λ£κΉμ§ μ μ§λλ κ°μ₯ λμ λ²μμ μ€μ½νλ€.
- νλ‘ν νμ : μ€νλ§ μ»¨ν μ΄λλ νλ‘ν νμ λΉμ μμ±κ³Ό μμ‘΄κ΄κ³λ₯Ό μ£Όμ κΉμ§λ§ κ΄μ¬νκ³ λμ΄μ κ΄λ¦¬νμ§ μλ λ§€μ° μ§§μ λ²μμ μ€μ½νλ€
- μΉ κ΄λ ¨ μ€μ½ν
- request : μΉ μμ²μ΄ λ€μ΄μ€κ³ λκ°λκΉμ§ μ μ§λλ μ€μ½ν
- session : μΉ μΈμ μ΄ μμ±λκ³ μ’ λ£λ λ κΉμ§ μ μ§λλ μ€μ½ν
- application : μΉμ μλΈλ¦Ώ 컨ν μ€νΈμ κ°μ λ²μλ‘ μ μ§λλ μ€μ½νλ€.
μ»΄ν¬λνΈ μ΄λ Έν μ΄μ μ μλλ±λ‘
@Scope("prototype")
@Component
public class HelloBean {
}
μλ λ±λ‘
@Scope("prototype")
@Bean
PrototypeBean HelloBean(){
return new HelloBean();
}
μ±κΈν€ λΉ μμ² κ³Όμ
- μ±κΈν€ μ€μ½νμ λΉμ μ€νλ§ μ»¨ν μ΄λμ μμ²νλ€.
- μ€νλ§ μ»¨ν μ΄λλ λ³ΈμΈμ΄ κ΄λ¦¬νλ μ€νλ§ λΉμ λ°ννλ€.
- μ΄νμ μ€νλ§ μ»¨ν μ΄λμ κ°μ μμ²μ΄ μλ κ°μ κ°μ²΄ μΈμ€ν΄μ€μ μ€νλ§ λΉμ λ°ννλ€.
νλ‘ν νμ μ€μ½ν
-
μ±κΈν€ μ€μ½νμ λΉμ μ‘°ννλ €λ©΄ μ€νλ§ μ»¨ν μ΄λλ νμ κ°μ μΈμ€ν΄μ€μ μ€νλ§ λΉμ λ°ννλ€.
-
λ°λ©΄, νλ‘ν νμ μ μ€μ½νλ₯Ό 컨ν μ΄λμ μ‘°ννλ©΄ μ€νλ§ μ»¨ν μ΄λλ νμ μλ‘μ΄ μΈμ€ν΄μ€λ₯Ό μμ±ν΄μ λ°ννλ€.
- νλ‘ν νμ μ€μ½νμ λΉμ μ€νλ§ μ»¨ν μ΄λμ μμ²νλ€.
- μ€νλ§ μ»¨ν μ΄λλ μ΄ μμ μ νλ‘ν νμ λΉμ μμ±νκ³ , νμν μμ‘΄κ΄κ³λ₯Ό μ£Όμ νλ€.
- μ€νλ§ μ»¨ν μ΄λλ μμ±ν νλ‘ν νμ λΉμ ν΄λΌμ΄μΈνΈμ λ°ννλ€.
- μ΄νμ μ€νλ§ μ»¨ν μ΄λμ κ°μ μμ²μ΄ μ€λ©΄ νμ μλ‘μ΄ νλ‘ν νμ λΉμ μμ±ν΄μ λ°ννλ€.
νλ‘ν νμ μ νΉμ§ μ 리
- μ€νλ§ μ»¨ν μ΄λμ μμ²ν λ λ§λ€ μλ‘ μμ±λλ€.
-
μ€νλ§ μ»¨ν μ΄λλ νλ‘ν νμ λΉμ μμ±κ³Ό μμ‘΄κ΄κ³ μ£Όμ κ·Έλ¦¬κ³ μ΄κΈ°νκΉμ§λ§ κ΄μ¬νλ€.
-
μ’ λ£ λ©μλκ° νΈμΆλμ§ μλλ€.
-
νλ‘ν νμ λΉμ νλ‘ν νμ λΉμ μ‘°νν ν΄λΌμ΄μΈνΈκ° κ΄λ¦¬ν΄μΌ νλ€. μ’ λ£ λ©μλμ λν νΈμΆλ ν΄λΌμ΄μΈνΈκ° μ§μ ν΄μΌνλ€.
μΉ μ€μ½ν
- μΉ μ€μ½νλ μΉ νκ²½μμλ§ λμνλ€.
- μΉ μ€μ½νλ μ€νλ§μ΄ ν΄λΉ μ€μ½νμ μ’ λ£μμ κΉμ§ κ΄λ¦¬νλ€.
- μ’ λ£λ©μλκ° νΈμΆλλ€.
π μ°Έμ‘° : μΈνλ°μ κΉμνλκ°μ
π κ°μΈ κ³΅λΆ κΈ°λ‘μ© λΈλ‘κ·Έμ
λλ€. μ€λ₯λ νλ¦° λΆλΆμ΄ μμ κ²½μ°
μΈμ λ μ§ λκΈ νΉμ λ©μΌλ‘ μ§μ ν΄μ£Όμλ©΄ κ°μ¬νκ² μ΅λλ€! π
κ°μΈλ©λͺ¨