์คํ๋ง7 Spring - ๋น ์ค์ฝํ ๋น ์ค์ฝํ๋ ? ์คํ๋ง ๋น์ด ์คํ๋ง ์ปจํ ์ด๋์ ์์๊ณผ ํจ๊ป ์์ฑ๋์ด์ ์คํ๋ง ์ปจํ ์ด๋๊ฐ ์ข ๋ฃ๋ ๋ ๊น์ง ์ ์ง๋๋ค๊ณ ํ์ตํ๋ค. ์ด๋ ์คํ๋ง ๋น์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ฑ๊ธํค ์ค์ฝํ๋ก ์์ฑ๋๊ธฐ ๋๋ฌธ์ด๋ค. ์ค์ฝํ๋ ๋น์ด ์กด์ฌํ ์ ์๋ ๋ฒ์๋ฅผ ๋ปํ๋ค. ์คํ๋ง์ ๋ค์๊ณผ ๊ฐ์ ๋ค์ํ ์ค์ฝํ๋ฅผ ์ง์ํ๋ค. ์ฑ๊ธํค :๊ธฐ๋ณธ ์ค์ฝํ, ์คํ๋ง ์ปจํ ์ด๋์ ์์๊ณผ ์ข ๋ฃ๊น์ง ์ ์ง๋๋ ๊ฐ์ฅ ๋์ ๋ฒ์์ ์ค์ฝํ์ด๋ค. ํ๋กํ ํ์ :์คํ๋ง ์ปจํ ์ด๋๋ ํ๋กํ ํ์ ๋น์ ์์ฑ๊ณผ ์์กด๊ด๊ณ ์ฃผ์ ๊น์ง๋ง ๊ด์ฌํ๊ณ ๋๋ ๊ด๋ฆฌํ์ง ์๋ ๋งค์ฐ ์งง์ ๋ฒ์์ ์ค์ฝํ์ด๋ค. ์น ๊ด๋ จ ์ค์ฝํ : request: ์น ์์ฒญ์ด ๋ค์ด์ค๊ณ ๋๊ฐ๋ ๊น์ง ์ ์ง๋๋ ์ค์ฝํ์ด๋ค. session: ์น ์ธ์ ์ด ์์ฑ๋๊ณ ์ข ๋ฃ๋ ๋ ๊น์ง ์ ์ง๋๋ ์ค์ฝํ์ด๋ค. application: ์น์ ์๋ธ๋ฆฟ .. 2023. 7. 17. Spring - ์ปดํฌ๋ํธ ์ค์บ ์ปดํฌ๋ํธ ์ค์บ์ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ @ComponentScan ์ ์ค์ ์ ๋ณด์ ๋ถ์ฌ์ฃผ๋ฉด ๋๋ค. ๊ธฐ์กด์ AppConfig์๋ ๋ค๋ฅด๊ฒ @Bean์ผ๋ก ๋ฑ๋กํ ํด๋์ค๊ฐ ํ๋๋ ์๋ค! ์ ์คํ๋ง ๋น ์ ์ฅ์์์ ๋น ๊ฐ์ฒด๋ฅผ ๋ณด๋ฉด ์ฑ๊ธํค ์ปจํ ์ด๋์ ์ญํ ์ @Component ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ํด์ค๋ค๋๊ฒ์ ์ ์ ์๋ค. @ComponentScan์์ ํ์ํ ํจํค์ง์ ์์ ์์น๋ฅผ ์ง์ ํ ์ ์๋ค. @ComponentScan( basePackages = "hello.core", } basePackages : ํ์ํ ํจํค์ง์ ์์ ์์น๋ฅผ ์ง์ ํ๋ค. ์ด ํจํค์ง๋ฅผ ํฌํจํด์ ํ์ ํจํค์ง๋ฅผ ๋ชจ๋ ํ์ํ๋ค. basePackages = {"hello.core", "hello.service"} ์ด๋ ๊ฒ ์ฌ๋ฌ ์์ ์์น๋ฅผ ์ง์ ํ ์๋ ์๋ค. ba.. 2023. 7. 11. Spring - ์ฑ๊ธํค ํจํด๊ณผ ์ฑ๊ธํค ์ปจํ ์ด๋ ์ฑ๊ธํค ํจํด ํด๋์ค์ ์ธ์คํด์ค๊ฐ ๋ฑ 1๊ฐ๋ง ์์ฑ๋๋ ๊ฒ์ ๋ณด์ฅํ๋ ๋์์ธ ํจํด์ด๋ค. ๊ทธ๋์ ๊ฐ์ฒด ์ธ์คํด์ค๋ฅผ 2๊ฐ ์ด์ ์์ฑํ์ง ๋ชปํ๋๋ก ๋ง์์ผ ํ๋ค. private ์์ฑ์๋ฅผ ์ฌ์ฉํด์ ์ธ๋ถ์์ ์์๋ก new ํค์๋๋ฅผ ์ฌ์ฉํ์ง ๋ชปํ๋๋ก ๋ง์์ผ ํ๋ค. package hello.core.singleton; public class SingletonService { //1. static ์์ญ์ ๊ฐ์ฒด๋ฅผ ๋ฑ 1๊ฐ๋ง ์์ฑํด๋๋ค. private static final SingletonService instance = new SingletonService(); //2. public์ผ๋ก ์ด์ด์ ๊ฐ์ฒด ์ธ์คํด์ค๊ฐ ํ์ํ๋ฉด ์ด static ๋ฉ์๋๋ฅผ ํตํด์๋ง ์กฐํํ๋๋ก ํ์ฉํ ๋ค. public static SingletonServi.. 2023. 7. 10. Spring - BeanFactory์ ApplicationContext beanFactory์ ApplicationContext์ ๋ํด์ ์์๋ณด์. BeanFactory ์คํ๋ง ์ปจํ ์ด๋์ ์ต์์ ์ธํฐํ์ด์ค๋ค. ์คํ๋ง ๋น์ ๊ด๋ฆฌํ๊ณ ์กฐํํ๋ ์ญํ ์ ๋ด๋นํ๋ค. getBean() ์ ์ ๊ณตํ๋ค. ์ง๊ธ๊น์ง ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๋๋ถ๋ถ์ ๊ธฐ๋ฅ์ BeanFactory๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ด๋ค. ApplicationContext BeanFactory ๊ธฐ๋ฅ์ ๋ชจ๋ ์์๋ฐ์์ ์ ๊ณตํ๋ค. ๋น์ ๊ด๋ฆฌํ๊ณ ๊ฒ์ํ๋ ๊ธฐ๋ฅ์ BeanFactory๊ฐ ์ ๊ณตํด์ฃผ๋๋ฐ, ๊ทธ๋ฌ๋ฉด ๋์ ์ฐจ์ด๊ฐ ๋ญ๊น? ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋๋ ๋น์ ๊ด๋ฆฌํ๊ณ ์กฐํํ๋ ๊ธฐ๋ฅ์ ๋ฌผ๋ก ์ด๊ณ , ์ ๋ง์ ๋ถ๊ฐ๊ธฐ๋ฅ์ด ํ์ํ๋ค. ๋ฉ์์ง์์ค๋ฅผ ํ์ฉํ ๊ตญ์ ํ ๊ธฐ๋ฅ ์๋ฅผ ๋ค์ด์ ํ๊ตญ์์ ๋ค์ด์ค๋ฉด ํ๊ตญ์ด๋ก, ์์ด๊ถ์์ ๋ค์ด์ค๋ฉด ์์ด๋ก ์ถ๋ ฅ ํ๊ฒฝ๋ณ์ ๋ก์ปฌ, ๊ฐ๋ฐ,.. 2023. 7. 9. ์ด์ 1 2 ๋ค์