λ°μν Spring/Spring Internal3 Spring @Transactional λμ κ³Όμ μ€νλ§μ μ¬μ©νλ€λ³΄λ©΄ νΈλμμ μ κ΅μ₯ν λ§μ΄ μ¬μ©νκ³ , λ μμ½κ² μ¬μ©ν μ μλ€. κ·Έλ κΈ°μ @Transactional μ΄λ Έν μ΄μ μ μΆκ°ν΄μ μ¬μ©νκΈ°λ§ νλ€λ©΄, μ΄μ κ΄λ ¨νμ¬ λ°μν μ μλ λ¬Έμ λ€(Self Invocation, private λ©μλ νΈμΆ λ±)μ λν΄ μΈμ§νμ§ λͺ»νκ³ μ¬μ©νλ κ²½μ°λ κ½€λ λ§μ΄ λ΄μλ€. κ·Έλ λ€λ©΄, μ€νλ§μμ @Transactional μ΄λ Έν μ΄μ μ λ΄λΆμμ μ΄λ»κ² λμν κΉ? λ°λΌκ°λ³΄μ. λλ²κΉ ν μμ μ½λλ λ€μκ³Ό κ°μ΄ νΈλμμ μμ λͺλͺ μμ±λ€μ 컀μ€ν κ°μΌλ‘ μ€μ νλ€.@Transactional( propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED, timeout = 30, r.. 2025. 12. 28. Spring @ComponentScan λμ κ³Όμ Springμμ ν΄λμ€μ @Configuration, @RestController, @Service λ±μ μ΄λ Έν μ΄μ μ μ μΈνλ©΄ μ€νλ§μ ν΄λΉ μ΄λ Έν μ΄μ λ€μ μ€μΊν΄μ λΉμΌλ‘ λ±λ‘μ ν΄μ£Όλλ°μ, μ΄λ¬ν μν μ νλ κ²μ΄ @ComponentScan μ΄λ Έν μ΄μ μ λλ€. @ComponentScan μ λ¨μ΄ κ·Έλλ‘ @Component μ΄λ Έν μ΄μ μ΄ λΆμ ν΄λμ€λ€μ μ€μΊνμ¬ μ€νλ§ λΉμΌλ‘ λ±λ‘νλλ°, μμ μΈκΈλ μ΄λ Έν μ΄μ λ€μ λͺ¨λ λ΄λΆμ @Component μ΄λ Έν μ΄μ μ κ°μ§κ³ μμ΅λλ€. μμ κ°μ μ΄λ Έν μ΄μ λ€μ μ€μ νλ©΄ μ€νλ§μμλ μ΄λ»κ² μ»΄ν¬λνΈλ€μ μ€μΊνκ³ , μ€νλ§ λΉμΌλ‘ λ±λ‘νλμ§ μ΄ν΄λ³΄κ² μ΅λλ€. @ComponentScan ComponentScan μ΄λ Έν μ΄μ μ μ‘΄μ¬νλ μ£ΌμμΌλ‘, λλ΅μ μΈ μλ―Έλ λ€μκ³Ό κ°μ΅λλ€.. 2023. 12. 9. Spring Bean μ΄ λ±λ‘λλ κ³Όμ μ€νλ§μ μ¬μ©νλ€ λ³΄λ©΄ @Configuration, @Component, @Bean λ±μ μ΄λ Έν μ΄μ μ ν΅ν΄ μ€νλ§ μ»¨ν μ΄λμ λΉμ λ±λ‘νλλ°μ, μ΄λ ν κ³Όμ μ ν΅ν΄ Bean μ΄ λ±λ‘λλμ§ μ΄ν΄λ³΄κ² μ΅λλ€. ν μ€νΈλ μμ κ°μ΄ @Configuration μ΄λ Έν μ΄μ μ μ€μ ν TestConfiguration ν΄λμ€κ° μ‘΄μ¬νκ³ , main λ©μλλ₯Ό ν¬ν¨ν Main ν΄λμ€μμ μ΄λ Έν μ΄μ κΈ°λ°μ AnnotationConfigApplicationContext κ°μ²΄λ₯Ό μμ±νκ³ , μ΄ μμ±μμλ TestConfiguration κ°μ²΄λ₯Ό μ£Όμ ν©λλ€. μ κ³Όμ μ ν΅ν΄ μ΄λ Έν μ΄μ κΈ°λ°μ Spring Bean μ΄ λ±λ‘λλ κ³Όμ μ μ΄ν΄λ³΄κ² μ΅λλ€. BeanFactory BeanFactory μΈν°νμ΄μ€λ μ€νλ§ νλ μμν¬μμ μ€νλ§ .. 2023. 12. 2. μ΄μ 1 λ€μ λ°μν