728x90 ๋ฐ์ํ ์คํ๋ง๊ฐ์์ถ์ฒ8 [์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ] ์ธํ๋ฐ ๊ฐ์ ์ ๋ฆฌ(์ฑ๊ธํค ์ปจํ ์ด๋ - ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ฑ๊ธํค, ์ฑ๊ธํค ํจํด) /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์ ์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข www.inflearn.com ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ฑ๊ธํค 1. ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ฑ๊ธํค โ ์คํ๋ง์ ๊ธฐ์ ์ฉ ์จ๋ผ์ธ ์๋น์ค ๊ธฐ์ ์ ์ง์ํ๊ธฐ ์ํด ํ์ํ์. โ ๋๋ถ๋ถ์ ์คํ๋ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์(๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ๋ ๊ฐ๋ฅํ๊ธด ํจ) โ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณดํต ์ฌ๋ฌ ๊ณ ๊ฐ์ด ๋์์ ์์ฒญ์ ํจ(์ ๊ทธ๋ฆผ ์ฐธ์กฐ) โ ์ด๋ ๊ฒ ์์ฒญ์ ํ .. 2023. 10. 30. [์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ] ์ธํ๋ฐ ๊ฐ์ ์ ๋ฆฌ(์คํ๋ง ์ปจํ ์ด๋์ ์คํ๋ง ๋น - ๋ค์ํ ์ค์ ํ์ ์ง์, BeanDefinition) /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์ ์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข www.inflearn.com ๋ค์ํ ์ค์ ํ์ ์ง์ - ์๋ฐ ์ฝ๋, XML โ ์คํ๋ง ์ปจํ ์ด๋๋ ๋ค์ํ ํ์์ ์ค์ ์ ๋ณด๋ฅผ ๋ฐ์๋๋ฆด ์ ์๊ฒ ์ ์ฐํ๊ฒ ์ค๊ณ๋์ด ์๋ค. (Java์ฝ๋, XML, Groovy ๋ฑ) 1. ์ด๋ ธํ ์ด์ ๊ธฐ๋ฐ ์๋ฐ ์ฝ๋ ์ค์ ์ฌ์ฉ โ ๊ฐ์์์ ์ฌํ๊น์ง ์ฌ์ฉํ๋ ์ค์ ๋ฐฉ์ AnnotationConfigApplica.. 2023. 10. 28. [์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ] ์ธํ๋ฐ ๊ฐ์ ์ ๋ฆฌ(์คํ๋ง ์ปจํ ์ด๋์ ์คํ๋ง ๋น - ์ปจํ ์ด๋์ ๋ฑ๋ก๋ ๋ชจ๋ ๋น ์กฐํ, ์คํ๋ง ๊ธฐ๋ณธ ๋น ์กฐํ) /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์ ์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข www.inflearn.com ์ปจํ ์ด๋์ ๋ฑ๋ก๋ ๋ชจ๋ ๋น ์กฐํ ApplicationContextInfoTest public class ApplicationContextInfoTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppCo.. 2023. 10. 25. [์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ] ์ธํ๋ฐ ๊ฐ์ ์ ๋ฆฌ(์คํ๋ง ์ปจํ ์ด๋์ ์คํ๋ง ๋น - ์คํ๋ง ์ปจํ ์ด๋ ์์ฑ) /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์ ์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข www.inflearn.com ์คํ๋ง ์ปจํ ์ด๋ ์์ฑ MemberApp ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); โพ `ApplicationContext` ๋ฅผ ์คํ๋ง ์ปจํ ์ด๋๋ผ๊ณ ํ๋ฉฐ, ApplicationC.. 2023. 10. 25. [์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ] ์ธํ๋ฐ ๊ฐ์ ์ ๋ฆฌ(๊ฐ์ฒด ์งํฅ ์๋ฆฌ ์ ์ฉ - ์๋ก์ด ๊ตฌ์กฐ์ ํ ์ธ ์ ์ฑ ์ ์ฉ, ์ข์ ๊ฐ์ฒด ์งํฅ ์ค๊ณ์ 5๊ฐ์ง ์์น ์ ์ฉ) /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์ ์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข www.inflearn.com ์๋ก์ด ๊ตฌ์กฐ์ ํ ์ธ ์ ์ฑ ์ ์ฉ 1. ์๊ตฌ์ฌํญ ํ์ธ โพ ์๊ตฌ์ฌํญ : ์ ์ก ํ ์ธ ์ ์ฑ ์ ์ ๋ฅ ํ ์ธ ์ ์ฑ ์ผ๋ก ๋ณ๊ฒฝ(FixDiscountPolicy โ RateDiscountPolicy) โพ AppConfig์ ๋ฑ์ฅ์ผ๋ก ํฌ๊ฒ ์ฌ์ฉ์์ญ๊ณผ ๊ตฌ์ฑ์์ญ์ผ๋ก ๋ถ๋ฆฌ๋์๊ธฐ ๋๋ฌธ์ ๊ตฌ์ฑ์์ญ์์ RateDiscountPolicy๋ก.. 2023. 10. 21. [์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ] ์ธํ๋ฐ ๊ฐ์ ์ ๋ฆฌ(๊ฐ์ฒด ์งํฅ ์๋ฆฌ ์ ์ฉ - ์๋ก์ด ํ ์ธ ์ ์ฑ ๊ฐ๋ฐ, ์ ์ฉ, ๋ฌธ์ ์ ) /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์ ์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข www.inflearn.com ์๋ก์ด ํ ์ธ ์ ์ฑ ๊ฐ๋ฐ 1. ์๊ตฌ์ฌํญ ๋ฐ ์ค๊ณ โพ DiscountPolicy ์ธํฐํ์ด์ค๊ฐ ์์ผ๋ ๊ทธ๋ฅ RateDiscountPolicy๋ง ์ถ๊ฐ๋ก ๊ฐ๋ฐํ๋ฉด ๋จ. 2. RateDiscountPolicy ์ถ๊ฐ ๋ฐ ํ ์คํธ RateDiscountPolicy package hello.core.discount; imp.. 2023. 10. 20. [์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ] ์ธํ๋ฐ ๊ฐ์ ์ ๋ฆฌ(์์ ๋ง๋ค๊ธฐ - ์ฃผ๋ฌธ๊ณผ ํ ์ธ ๋๋ฉ์ธ ์ค๊ณ, ๊ฐ๋ฐ, ์คํ, ํ ์คํธ) /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์ ์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข www.inflearn.com ์ฃผ๋ฌธ๊ณผ ํ ์ธ ๋๋ฉ์ธ 1. ์ฃผ๋ฌธ๊ณผ ํ ์ธ ๋๋ฉ์ธ ์ค๊ณ ์ฃผ๋ฌธ ๋๋ฉ์ธ ํ๋ ฅ, ์ญํ , ์ฑ ์ 1. ์ฃผ๋ฌธ ์์ฑ : ํด๋ผ์ด์ธํธ๋ ์ฃผ๋ฌธ ์๋น์ค์ ์ฃผ๋ฌธ ์์ฑ์ ์์ฒญ 2. ํ์ ์กฐํ : ํ์ ๋ฑ๊ธ๋ณ ํ ์ธ ๊ธ์ก์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ฃผ๋ฌธ์๋น์ค๋ ํ์ ์ ์ฅ์์์ ํ์์ ์กฐํํ๋ค. 3. ํ ์ธ ์ ์ฉ : ์ฃผ๋ฌธ ์๋น์ค๋ ํ์ ๋ฑ๊ธ์ ๋ฐ๋ฅธ ํ .. 2023. 10. 20. [์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ] ์ธํ๋ฐ ๊ฐ์ ์ ๋ฆฌ(์์ ๋ง๋ค๊ธฐ - ํ์ ๋๋ฉ์ธ ์ค๊ณ, ๊ฐ๋ฐ, ์คํ, ํ ์คํธ) /* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค. ๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์ ์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข www.inflearn.com ํ์ ๋๋ฉ์ธ 1. ํ์ ๋๋ฉ์ธ ์ค๊ณ ํ์ ๋๋ฉ์ธ ํ๋ ฅ ๊ด๊ณ โพ ํด๋ผ์ด์ธํธ์ ์ญํ : ํ์์๋น์ค ํธ์ถ โพ ํ์์๋น์ค์ ์ญํ : ํ์๊ฐ์ / ํ์์กฐํฌ ์ด ๋ ๊ฐ์ง์ ๊ธฐ๋ฅ โพ ํ์์ ์ฅ์์ ์ญํ : ์ธ๊ฐ์ง ์ ์ฅ์ ์ค ํ๋๋ฅผ ์ ํํ์ฌ ํ์ ๊ด๋ฆฌ [ DB ํ์ ์ ์ฅ์(์์ฒดDB) / ์ธ๋ถ ์์คํ ์ฐ๋ ํ์ ์ ์ฅ์ ] .. 2023. 10. 18. ์ด์ 1 ๋ค์ 728x90 ๋ฐ์ํ