[Spring] ν΅μ¬ μ리 κΈ°λ³Έ (8) - λΉ μλͺ μ£ΌκΈ° μ½λ°±
π λΉ μλͺ μ£ΌκΈ° μ½λ°±
λ°μ΄ν°λ² μ΄μ€ 컀λ₯μ νμ΄λ λ€νΈμν¬ μμΌμ²λΌ μ ν리μΌμ΄μ μμ μμ μ νμν μ°κ²°μ 미리 ν΄λκ³ μ ν리μΌμ΄μ μ’ λ£ μμ μ μ°κ²°μ λͺ¨λ μ’ λ£νλ μμ μ μ§ννκΈ° μν΄μλ κ°μ²΄μ μ΄κΈ°νμ μ’ λ£ μμ νμ
π μ€νλ§ λΉμ λΌμ΄ν μ¬μ΄ν΄
μ€νλ§ λΉμ κ°μ²΄λ₯Ό μμ±νκ³ μμ‘΄κ΄κ³λ₯Ό μ£Όμ νλ λΌμ΄νμ¬μ΄ν΄μ κ°μ§λ€. μ΄ λ¨κ³κ° λ€ λλκ³ λμμΌ νμν λ°μ΄ν°λ₯Ό μ¬μ©ν μ μλ€. λ°λΌμ μ΄κΈ°ν μμ μ μμ‘΄κ΄κ³ μ£Όμ μ΄ λͺ¨λ μλ£λκ³ λ λ€ νΈμΆν΄μΌ νλ€. μ€νλ§μ μμ‘΄κ΄κ³ μ£Όμ μ΄ μλ£λλ©΄ μ€νλ§ λΉμκ² μ½λ°± λ©μλλ₯Ό ν΅ν΄ μ΄κΈ°ν μμ μ μλ €μ£Όκ³ , μ€νλ§ μ»¨ν μ΄λκ° μ’ λ£λκΈ° μ μ μλ©Έ μ½λ°±μ μ£Όλ κΈ°λ₯μ μ 곡νλ€. κ°λ°μλ μ½λ°± λ©μλλ₯Ό μ΄μ©ν΄μ λΉμ μμ‘΄κ΄κ³ μ£Όμ μ΄ λλ μμ κ³Ό μλ©Έ μ§μ μμ μ μ μ μλ€.
β»μ°Έκ³ β» : κ°μ²΄λ₯Ό μμ±νλ λΆλΆκ³Ό μ΄κΈ°ννλ λΆλΆμ λͺ νν λλλ κ²μ΄ μ μ§λ³΄μ κ΄μ μμ μ’μ
β μ€νλ§ λΉμ μ΄λ²€νΈ λΌμ΄νμ¬μ΄ν΄
μ€νλ§ μ»¨ν μ΄λ μμ± → μ€νλ§ λΉ μμ± → μμ‘΄κ΄κ³ μ£Όμ → μ΄κΈ°ν μ½λ°± → λΉ μ¬μ© → μλ©Έ μ μ½λ°± → μ€νλ§ μ’ λ£
- μ΄κΈ°ν μ½λ°± : λΉμ΄ μμ±λκ³ , μμ‘΄κ΄κ³ μ£Όμ μ΄ μλ£λ ν νΈμΆ
- μλ©Έμ μ½λ°± : λΉμ΄ μλ©ΈλκΈ° μ§μ μ νΈμΆ
π μ€νλ§μ λΉ μλͺ μ£ΌκΈ° μ½λ°± μ§μ
β μΈν°νμ΄μ€ InitializingBean, DisposableBean
- λΉμΌλ‘ λ±λ‘λ ν΄λμ€λ InitializingBean, DisposableBeanμ μμλ°λλ€.
- μ΄κΈ°νλ₯Ό μ§μνλ afterPropertiesSet()μ override νλ€.
- μλ©Έμ μ§μνλ destory()λ₯Ό override νλ€.
π» λ¨μ
- μ΄ μΈν°νμ΄μ€λ μ€νλ§ μ μ© μΈν°νμ΄μ€μ΄λ€.
- μ΄κΈ°ν, μλ©Έ λ©μλμ μ΄λ¦μ λ³κ²½ν μ μλ€.
- λ΄κ° μ½λλ₯Ό κ³ μΉ μ μλ μΈλΆ λΌμ΄λΈλ¬λ¦¬μ μ μ©ν μ μλ€.
- κ±°μ μ¬μ©νμ§ μμΌλ©° μ§κΈμ λ€λ₯Έ λ°©λ²λ€μ λ§μ΄ μ¬μ©νλ€.
β λΉ λ±λ‘ μ΄κΈ°ν, μλ©Έ λ©μλ μ§μ
- λΉμΌλ‘ λ±λ‘λ ν΄λμ€μ μ΄κΈ°ν, μλ©Έ λ©μλλ₯Ό μ μνλ€.
- λΉμΌλ‘ λ±λ‘ν λ @Bean(initMethod = "init", destoryMethod = "close") μ²λΌ μ΄κΈ°ν, μλ©Έ λ©μλλ₯Ό μ§μ ν μ μλ€.
π» νΉμ§
- λ©μλ μ΄λ¦μ μμ λ‘κ² μ€ μ μλ€.
- μ€νλ§ λΉμ΄ μ€νλ§ μ½λμ μμ‘΄νμ§ μλλ€.
- μ½λκ° μλ μ€μ μ 보λ₯Ό μ¬μ©νκΈ° λλ¬Έμ μ½λλ₯Ό κ³ μΉ μ μλ μΈλΆ λΌμ΄λΈλ¬λ¦¬μλ μ΄κΈ°ν, μ’ λ£ λ©μλλ₯Ό μ μ©ν μ μλ€.
- λΌμ΄λΈλ¬λ¦¬μ λλΆλΆ μ’ λ£ λ©μλλ close, shutdownμ΄λΌλ μ΄λ¦μ κ°μ§λ€. destroy μμ±μ λ©μλμ μ΄λ¦μ μΆλ‘ νμ¬ μ’ λ£ λ©μλλ₯Ό νΈμΆν΄μ£Όλ κΈ°λ₯μ μ 곡νλ€. μ’ λ£ λ©μλλ₯Ό close λλ shutdownμΌλ‘ μ€μ νμ κ²½μ° λ°λ‘ λͺ μν΄μ£Όμ§ μμλ μ λμνλ€.
- μΆλ‘ κΈ°λ₯μ μ¬μ©νκ³ μΆμ§ μμΌλ©΄ destroyMethod=""μ²λΌ λΉ κ³΅λ°±μ μ§μ νλ€.
β μ λ Έν μ΄μ @PostConstruct, @PreDestroy
- λΉμΌλ‘ λ±λ‘λ ν΄λμ€μ μ΄κΈ°ν λ©μλμ μλ©Έ λ©μλμ κ°κ° @PostConstruct, @PreDestroy μ λ Έν μ΄μ μ λΆμ¬μ€λ€.
- κ°μ₯ νΈλ¦¬νκ² μ΄κΈ°νμ μ’ λ£λ₯Ό μ€νν μ μλ€.
π» νΉμ§
- μ΅μ μ€νλ§μμ κ°μ₯ κΆμ₯νλ λ°©λ²μ΄λ€.
- μ€νλ§μ μ’ μμ μΈ κΈ°μ μ΄ μλ μλ° νμ€μ΄λ€. λ°λΌμ μ€νλ§μ΄ μλ λ€λ₯Έ 컨ν μ΄λμμλ λμνλ€.
- μ»΄ν¬λνΈ μ€μΊκ³Ό μ μ΄μΈλ¦°λ€.
- μ μΌν λ¨μ μ μΈλΆ λΌμ΄λΈλ¬λ¦¬μλ μ μ©νμ§ λͺ»νλ€λ κ²μ΄λ€. μ΄ κ²½μ° @Beanμμ μ΄κΈ°νμ μλ©Έ λ©μλλ₯Ό μ§μ ν΄μ£Όλ λ°©λ²μ μ¬μ©νμ!
κ°μ λ§ν¬
μ€νλ§ ν΅μ¬ μ리 - κΈ°λ³ΈνΈ - μΈνλ° | κ°μ
μ€νλ§ μ λ¬Έμκ° μμ λ₯Ό λ§λ€μ΄κ°λ©΄μ μ€νλ§μ ν΅μ¬ μ리λ₯Ό μ΄ν΄νκ³ , μ€νλ§ κΈ°λ³ΈκΈ°λ₯Ό νμ€ν λ€μ§ μ μμ΅λλ€., - κ°μ μκ° | μΈνλ°...
www.inflearn.com