spring43 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. Spring - ์คํ๋ง ๋น ์กฐํ -๊ธฐ๋ณธ ์คํ๋ง ์ปจํ ์ด๋์์ ์คํ๋ง ๋น์ ์ฐพ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์กฐํ ๋ฐฉ๋ฒ ac.getBean(๋น์ด๋ฆ, ํ์ ) ac.getBean(ํ์ ) ์กฐํ ๋์ ์คํ๋ง ๋น์ด ์์ผ๋ฉด ์์ธ ๋ฐ์ NoSuchBeanDefinitionException: No bean named 'xxxxx' available public class ApplicationContextBasicFindTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayName("๋น ์ด๋ฆ์ผ๋ก ์กฐํ") void findBeanByName(){ MemberService memberService = ac.getBea.. 2023. 7. 9. ์ด์ 1 2 3 4 5 6 7 8 ยทยทยท 11 ๋ค์