Spring-studyπ±/Spring-Basic60 Section 9-3. νλ‘ν νμ μ€μ½ν - μ±κΈν€ λΉκ³Ό ν¨κ» μ¬μ©μ λ¬Έμ μ μ€νλ§ μ»¨ν μ΄λμ νν ν νμ μ€μ½νμ λΉμ μμ²νλ©΄ νμ μλ‘μ΄ κ°μ²΄ μΈμ€ν΄μ€λ₯Ό μμ±ν΄μ λ°ννλ€. νμ§λ§ μ±κΈν€ λΉκ³Ό ν¨κ» μ¬μ©ν λλ μλν λλ‘ μ λμνμ§ μμΌλ―λ‘ μ£Όμν΄μΌ νλ€. νλ‘ν νμ λΉ μ§μ μμ² ν΄λΌμ΄μΈνΈ Aλ μ€νλ§ μ»¨ν μ΄λμ νλ‘ν νμ λΉμ μμ² μ€νλ§ μ»¨ν μ΄λλ νλ‘ν νμ λΉμ μλ‘ μμ±ν΄μ λ°ν(x01)νλ€. ν΄λΉ λΉμ count νλ κ°μ 0μ΄λ€. ν΄λΌμ΄μΈνΈλ μ‘°νν νλ‘ν νμ λΉμ addCount()λ₯Ό νΈμΆνμ¬ countνλλ₯Ό +1νλ€. κ²°κ³Όμ μΌλ‘ νλ‘ν νμ λΉ(x01)μ count νλμ κ°μ 1μ΄λ€. ν΄λΌμ΄μΈνΈ Bλ μ€νλ§ μ»¨ν μ΄λμ νλ‘ν νμ λΉμ μμ²νλ€. μ€νλ§ μ»¨ν μ΄λλ νλ‘ν νμ λΉμ μλ‘ μμ±νμ¬ λ°ν(x02)νλ€. ν΄λΉ λΉμ count νλ κ°μ 0μ΄λ€. ν΄λΌ.. 2022. 5. 2. Section 9-2. νλ‘ν νμ μ€μ½ν μ±κΈν€ μ€μ½νμ λΉμ μ‘°ννλ©΄ μ€νλ§ μ»¨ν μ΄λλ νμ κ°μ μΈμ€ν΄μ€μ μ€νλ§ λΉμ λ°ννλ€. λ°λ©΄μ νλ‘ν νμ μ€μ½νλ₯Ό μ€νλ§ μ»¨ν μ΄λμ μ‘°ννλ©΄ μ€νλ§ μ»¨ν μ΄λλ νμ μλ‘μ΄ μΈμ€ν΄μ€λ₯Ό μμ±ν΄μ λ°ννλ€. μ±κΈν€ λΉ μμ² μ±κΈν€ μ€μ½νμ λΉμ μ€νλ§ μ»¨ν μ΄λμ μμ² μ€νλ§ μ»¨ν μ΄λλ μ€νλ§μμ κ΄λ¦¬νλ μ€νλ§ λΉμ λ°ν μ΄νμ λκ°μ μμ²μ΄μλ λκ°μ κ°μ²΄ μΈμ€ν΄μ€μ μ€νλ§ λΉμ λ°ν νλ‘ν νμ λΉ μμ² νλ‘ν νμ μ€μ½νμ λΉμ μ€νλ§ μ»¨ν μ΄λμ μμ² μ€νλ§ μ»¨ν μ΄λλ μ΄ μμ μ νλ‘ν νμ λΉμ μμ±νκ³ , νμν μμ‘΄κ΄κ³λ₯Ό μ£Όμ 3. μ€νλ§ μ»¨ν μ΄λλ μμ±ν νλ‘ν νμ λΉμ ν΄λΌμ΄μΈνΈμ λ°ν 4. μ΄ν, μ€νλ§ μ»¨ν μ΄λμ κ°μ μμ²μ΄ μ€λ©΄ νμ μλ‘μ΄ νλ‘ν νμ λΉμ μμ±ν΄μ λ°ν ν΅μ¬μ μ€νλ§ μ»¨ν μ΄.. 2022. 5. 2. Section 9-1. λΉ μ€μ½νλ? μ§κΈκΉμ§ μ°λ¦¬λ μ€νλ§ λΉμ΄ μ€νλ§ μ»¨ν μ΄λμ μμκ³Ό ν¨κ» μμ±λμ΄μ μ€νλ§ μ»¨ν μ΄λκ° μ’ λ£λ λ κΉμ§ μ μ§λλ€κ³ νμ΅νλ€. μ΄κ²μμ€νλ§ λΉμ΄ κΈ°λ³Έμ μΌλ‘ μ±κΈν€ μ€μ½νλ‘ μμ±λκΈ° λλ¬Έμ΄λ€. μ€μ½νλ λ²μ κ·Έλλ‘ λΉμ΄ μ‘΄μ¬ν μ μλ λ²μλ₯Ό λ»νλ€. μ€νλ§μ λ€μκ³Ό κ°μ λ€μν μ€μ½νλ₯Ό μ§μνλ€. μ±κΈν€: κΈ°λ³Έ μ€μ½ν, μ€νλ§ μ»¨ν μ΄λμ μμκ³Ό μ’ λ£κΉμ§ μ μ§λλ κ°μ₯ λμ λ²μμ μ€μ½νμ΄λ€. νλ‘ν νμ : μ€νλ§ μ»¨ν μ΄λλ νλ‘ν νμ λΉμ μμ±κ³Ό μμ‘΄κ΄κ³ μ£Όμ κΉμ§λ§ κ΄μ¬νκ³ λλ κ΄λ¦¬νμ§ μλ λ§€μ° μ§§μ λ²μμ μ€μ½νμ΄λ€. (μ΄κΈ°ν λ©μλκΉμ§λ κ΄μ¬νκ³ κ·Έ μ΄νλ ν΄λΌμ΄μΈνΈμκ² λ°νν΄μ€ λ€ λμ΄μ μ€νλ§μ΄ κ΄λ¦¬νμ§ μλλ€. μ¦, μ’ λ£ λ©μλλ νΈμΆνμ§ μλλ€.) μΉ κ΄λ ¨ μ€μ½ν request: μΉ μμ²μ΄ λ€.. 2022. 5. 2. Section 8-4. μ λ Έν μ΄μ @PostConstruct, @PreDestroy μμμ λΉ μλͺ μ£ΌκΈ° μ½λ°±μ λν΄ 2κ°μ§λ₯Ό νμ΅νμλ€. νμ§λ§ μ΄λ²μ λ°°μ°λ λ°©λ²μ μ£Όλ‘ μ¬μ©νμ. (μ€νλ§μμλ μ΄λ°©λ²μ κΆμ₯νλ€.) μμ κ°μ΄ μμ±νλ©΄ λμ΄λ€. @PostConstruct, @PreDestroy μ λ Έν μ΄μ νΉμ§ μ΅μ μ€νλ§μμ κ°μ₯ κΆμ₯νλ λ°©λ²μ΄λ€. μ λ Έν μ΄μ νλλ§ λΆμ΄λ©΄ λλ―λ‘ λ§€μ° νΈλ¦¬νλ€. ν¨ν€μ§λ₯Ό μ 보면 javax.annotation.PostConstruct μ΄λ€. μ€νλ§μ μ’ μμ μΈ κΈ°μ μ΄ μλλΌ JSR-250λΌλ μλ° νμ€μ΄λ€. λ°λΌμ μ€νλ§μ΄ μλ λ€λ₯Έ 컨ν μ΄λμμλ λμνλ€. μ»΄ν¬λνΈ μ€μΊκ³Ό μ μ΄μΈλ¦°λ€. μ μΌν λ¨μ μ μΈλΆ λΌμ΄λΈλ¬λ¦¬μλ μ μ©νμ§ λͺ»νλ€λ κ²μ΄λ€. μΈλΆ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ΄κΈ°ν, μ’ λ£ ν΄μΌ νλ©΄ @Beanμ κΈ°λ₯μ μ¬μ©νμ. μ 리 @PostConstruct.. 2022. 5. 2. Section 8-3. λΉ λ±λ‘ μ΄κΈ°ν, μλ©Έ λ©μλ μ€μ μ 보μ @Bean(initMethod = "init", destroyMethod = "close") μ²λΌ μ΄κΈ°ν, μλ©Έ λ©μλλ₯Ό μ§μ νλ λ°©λ²μ΄ μλ€. μμμ μ¬μ©νλ afterPropertiesSet() λ©μλμ destroy()λ©μλλ₯Ό initλ©μλμ closeλ©μλλ‘ λ³κ²½νμλ€. κ·Έλ¦¬κ³ Beanμ λ±λ‘ν λ μ΄κΈ°ν λ©μλμ μλ©Έ λ©μλλ₯Ό μ°λ¦¬κ° λ§λ λ©μλλ‘ μ§μ ν΄μ£Όλ©΄ λλ€. ν μ€νΈ μ±κ³΅ μ€μ μ 보 μ¬μ© νΉμ§ λ©μλ μ΄λ¦μ μμ λ‘κ² μ€ μ μλ€. μ€νλ§ λΉμ΄ μ€νλ§ μ½λμ μμ‘΄νμ§ μλλ€. μ½λκ° μλλΌ μ€μ μ 보λ₯Ό μ¬μ©νκΈ° λλ¬Έμ μ½λλ₯Ό κ³ μΉ μ μλ μΈλΆ λΌμ΄λΈλ¬λ¦¬μλ μ΄κΈ°ν, μ’ λ£ λ©μλλ₯Ό μ μ©ν μ μλ€. μ’ λ£ λ©μλ μΆλ‘ @Beanμ destroyMethodμμ±μλ νΉλ³ν κΈ°λ₯μ΄ μλ€.. 2022. 5. 2. μ΄μ 1 2 3 4 5 Β·Β·Β· 12 λ€μ