EEALL@ONCE
๐ฑ AppConfig ๋ฆฌํฉํฐ๋ง ๋ณธ๋ฌธ
728x90
์ค๋ณต์ ์์ ๊ณ , ์ญํ ์ ๋ฐ๋ฅธ ๊ตฌํ์ด ํ์คํด์ผํ๋ค.
๋ฆฌํํฐ๋ง ํ ๋ ์ง์ผ์ผํ๋ ์ :
1. ๊ตฌ์ฑ ์ ๋ณด์์ ์ญํ ๊ณผ ๊ตฌํ์ ๋ช ํํ๊ฒ ๋ถ๋ฆฌ
2. ์ค๋ณต ์ ๊ฑฐ
[๋ฆฌํฉํฐ๋ง ์ ]
public class AppConfig {
public MemberService memberService() {
return new MemberServiceImpl(new MemoryMemberRepository());
}
public OrderService orderService(){
return new OrderServiceImpl(new MemoryMemberRepository(),new FixDiscountPolicy());
}
}
[๋ฆฌํฉํฐ๋ง ํ]
public class AppConfig {
/* ๊ฐ์ ๋ถ๋ถ์ ์ ํํ ๋๋ */
public MemberRepository memberRepository(){
return new MemoryMemberRepository();
}
public DiscountPolicy discountPolicy(){
return new FixDiscountPolicy();
};
public MemberService memberService() {
return new MemberServiceImpl(memberRepository());
}
public OrderService orderService(){
return new OrderServiceImpl(memberRepository(),discountPolicy());
}
}
๊ตฌํ์ฒด๋ฅผ ํ ๊ณณ์์๋ง ์์ ํ๋ฉด ๋ชจ๋ ์์ ๊ฐ๋ฅํ๊ฒ ๋ฐ๊ฟจ๋ค.
728x90
'Spring๐ฑ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ฑIoC,DI,์ปจํ ์ด๋ (0) | 2023.07.23 |
---|---|
๐ฑ App Config -> ์ฌ์ฉ ์์ญ / ๊ตฌ์ฑ ์์ญ (0) | 2023.07.23 |
๐ฑ์๋น์ค ๋ถ๋ถ ๋ก์ง ๋ฐ๊พธ๊ธฐ ( OCP, DIP ์ ์ฉ ๋ฒ์ ) (0) | 2023.07.11 |
๐ฑ์๋น์ค ๋ถ๋ถ ๋ก์ง ๋ฐ๊พธ๊ธฐ ( OCP, DIP ๋ฌด์ ๋ฒ์ ) (0) | 2023.07.03 |
๐ฑ๋ง์์ ์ ํ์ง ์์ ์ฌ์ฅ๊ณผ Spring์ ์ฌ์ฉํด์ ์ ์ฐํ๊ฒ ์ฝ๋๋ฅผ ์งํํ๋ ๊ฐ๋ฐ์ (0) | 2023.06.23 |