piggydog0108
@piggydog0108
Reviews Written
1
Average Rating
5.0
Posts
Q&A
AppConfig๊ฐ ์ ์คํ๋๋์ง ๊ถ๊ธํฉ๋๋ค.
์ ๊ฐ ๊ณฐ๊ณฐ์ด ์๊ฐํด๋ณด๋... @SpringBootApplication ์ค์ ์์ filter๋ฅผ ์ค์ ํ์ง ์์๊ธฐ ๋๋ฌธ์ AppConfig.class๊ฐ ์คํ๋๋๊ฒ์ด ๋ง๋๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด @SpringBootApplication ์ค์ ์์ ์คํํ๋ค๋ฉด, AppConfig.class์์ ์๋์ผ๋ก ์ ์ธ๋ @Bean๋ค์ด Bean๊ฐ์ฒด๋ก ๋ง๋ค์ด์ง. --> ์๋ @Component๋ก ์ ์ธ๋์ด์ง ํด๋์ค๊ฐ Bean๊ฐ์ฒด๋ก ๋ง๋ค์ด ์ง. --> ์๋ ์ ๋ฆฌํ์๋ฉด 1. ์๋์ผ๋ก Bean๊ฐ์ฒด์์ฑ 2. ์๋์ผ๋ก Bean๊ฐ์ฒด ์์ฑ ๊ทธ๋ ๋ค๋ฉด ์๋ Bean๊ฐ์ฒด๊ฐ ์ฐ์ ์์๋ฅผ ๊ฐ์ง๋ฏ๋ก ํ์ฌ Spring Container๊ฐ ๊ฐ์ง๊ณ ์๋ Bean๊ฐ์ฒด๋ค์ 1๋ฒ์ ๊ฐ์ฒด๋ค์ด ๋ค์ด๊ฐ๊ฒ ๋๋ค๊ณ ์ดํดํ๋๊ฒ ๋ง๋์? ์ง๋ฌธํ๋ฉด์ ์ ๋ฆฌ๊ฐ ๋ ๋๋์ด๋ผ... ์ ๊ฐ ์ ๋๋ก ์ดํดํ๊ฑด์ง ๊ถ๊ธํ์ฌ ๋ฌธ์ ๋๋ฆฝ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 3
- 3
- 474
Q&A
@Component ์ฌ์ฉ์ implement ๋ ๊ตฌ์ฒดํ ํด๋์ค๊ฐ ๋ ๊ฐ์ผ ๊ฒฝ์ฐ
์๋ ํ์ธ์ ์ ์๋ ์ง๋ฌธ์ด ์์ด ๋ฌธ์๋๋ฆฝ๋๋ค.ํด๋น ์์์ 7:16์ฏค ํ๋ฉด์ call AppConfig.memberRepositorycall AppConfig.memberServicecall AppConfig.orderService์ด ์ธ๋ผ์ธ์ด ์ฐํ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ด ๋ก๊ทธ(?)๋ AppConfig์์ ์คํ์ํจ ๋ด์ฉ์ ๋๋ค. ์ฌ๊ธฐ์ ๊ถ๊ธํ ์ ์, @Configuration@ComponentScan(// basePackages = "hello.core.member", excludeFilters = @ComponentScan.Filter (type = FilterType.ANNOTATION, classes = Configuration.class))public class AutoAppConfig {// @Bean(name = "memoryMemberRepository")// MemberRepository memberRepository(){// return new MemoryMemberRepository();// }} ์์ ๊ฐ์ด exclude์ต์ ์ผ๋ก AppConfig.class์ ๊ธฐ์ฌ๋ @Bean๋ค์ Bean๊ฐ์ฒด๋ก ๋ง๋ค์ง ์๋๊ฒ์ผ๋ก ์ธ์งํ๊ณ ์์์ต๋๋ค. ์ ์๊ฐ์๋ ์คํ๋์ง ์์์ผ ํ ๊ฑฐ ๊ฐ์๋ฐ ์๋ ์ฝ๋์ ๊ฐ์ด @Bean์์ฑ ํจ์๋ค์ด ์คํ๋๋๊ฑฐ ๊ฐ์ ๋ฌธ์ ๋๋ฆฝ๋๋ค. @Configurationpublic class AppConfig { @Bean public MemberService memberService() { System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public MemoryMemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public OrderService orderService(){ System.out.println("call AppConfig.orderService"); return new OrderServiceImpl(memberRepository(), discountPolicy()); } @Bean public DiscountPolicy discountPolicy(){// return new FixDiscountPolicy(); return new RateDiscountPolicy(); }} ๋ง์ง๋ง์ผ๋ก, ํญ์ ์ข์ ๊ฐ์ ์งํํด ์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค. ์์ฆ ์ ๋ง ์ ์๋ ๋๋ถ์ ๊ฐ๋ฐ์ ํฅ๋ฏธ๋ฅผ ๋๋ผ๊ณ ์ถ์ด ์ฆ๊ฑฐ์ ์ง๊ณ ์์ต๋๋ค. ์ ๋ง ๊ฐ์ฌํฉ๋๋ค.
- 9
- 3
- 549




