[WIL] 2023.04.17~.04.23
๐ฌ ์ด๋ฒ์ฃผ ์๊ฒ ๋ ์
Bean : ์คํ๋ง์ด ๊ด๋ฆฌํ๋ ๊ฐ์ฒด
IoC ์ปจํ ์ด๋ : ์คํ๋ง์ด ๊ด๋ฆฌํ๋ ๊ฐ์ฒด๋ฅผ ๋ด์๋ ํต, ๊ณต๊ฐ
AppConfig : ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒด๋ฅผ ์ค์ ํ๊ณ ๊ตฌ์ฑํ๋ค.
DIP : ์ถ์ํ์๋ง ์์กดํด์ผ ํจ!
DIP , OCP
Annotation
@Getter
@Setter
@ToString
@RequiredArgsConstructor => final์ด ๋ถ์๊ฑธ ์์ฑ์๋ฅผ ๊ฐ์ง๊ณ ๋ง๋ค์ด์ค
๋กฌ๋ณต ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ ๊ณตํ๋ @RequiredArgsConstructor ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด final์ด ๋ถ์ ํ๋๋ฅผ ๋ชจ์์ ์์ฑ์๋ฅผ ์๋์ผ๋ก ๋ง๋ค์ด์ค๋ค.
(์ฝ๋์๋ ๋ณด์ด์ง ์์ง๋ง ์ค์ ํธ์ถ ๊ฐ๋ฅํ๋ค)
@Component
public class OrderServiceImpl implements OrderService{
private final MemberRepository memberRepository;
private final DiscountPolicy discountPolicy;
public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy){
this.memberRepository = memberRepository;
this.discountPolicy = discountPolicy;
}
}
// @RequiredArgsConstructor ์ ์ฉ
@Component
@RequiredArgsConstructor
public class OrderServiceImpl implements OrderService{
private final MemberRepoisitory memberRepository;
private final DiscountPolicy discountPolicy;
}
}
๐ฌ ๋ค์์ฃผ ๋ชฉํ ์ธ์ฐ๊ธฐ
- ํญํด99 4์ฃผ์ฐจ ๊ฐ์ ๋ฃ๊ณ ๊ณผ์ ์์ฑํ๊ธฐ
- ์ธํ๋ฐ JPA ๋ก๋๋งต ์๊ฐํ๊ธฐ (Querydsl ์ ๊น์ง)
- ์๊ณ ๋ฆฌ์ฆ 1์ผ 1๋ฌธ์
๐ฌ ์ด๋ฒ ์ฃผ ๋ชฉํ ๋ฌ์ฑ ์ฌ๋ถ
- ํญํด99 3์ฃผ์ฐจ ๊ณผ์ ์์ฑ
- ์ธํ๋ฐ HTTP ๊ฐ์ ์๊ฐ
- ์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ - ๊ธฐ๋ณธํธ ์๊ฐ์ค
- ์๊ณ ๋ฆฌ์ฆ 1์ผ 1๋ฌธ์
๐ฌ ํ๊ณ
๋ถ๋ช 3๋ ์ ์ ์ธํผ์์ ์คํ๋ง์ ๋ฐฐ์ ๊ณ ํ๋ก์ ํธ๊น์ง ํ๋๋ฐ ๊ธฐ์ต์ด ํ๋๋ ๋์ง ์๋๋ค..
ํญํด ํ๋ฉด์ ์ด์ฌํ , ์ ํ์๋ ๋ถ๋ค์ด ๋๋ฌด ๋ง์์ ๋ด ์์ ์ ๋ฐ์ฑํ๊ฒ ๋๊ณ , ์์ผ๋ก ๋ ์ด์ฌํ ํด์ผ๊ฒ ๋ค๊ณ ์๊ฐ์ด ๋ค์๋ค!
์คํ๋ง๊ณผ ์๊ณ ๋ฆฌ์ฆ์ ๋ณํํ๊ธฐ๊ฐ ํ๋ค์ง๋ง ๋ถ์กฑํ ์๊ณ ๋ฆฌ์ฆ ์ค๋ ฅ์ ๊ธฐ๋ฅด๊ธฐ ์ํด ๊ผญ ํ๋ฃจ์ ํ ๋ฌธ์ ์ฉ ํ์ด์ผ๊ฒ ๋ค.. ๐ฅน