์์ ์์ฑ์๋ฅผ ํตํ ์์กด๊ด๊ณ ์ฃผ์ ์ ๋ํด ์์๋ณด์๋ค.
๊ทธ๋ฐ๋ฐ ์์ฑ์๋ ๋ง๋ค๊ณ , ์ฃผ์ ๋ฐ์ ๊ฐ์ ๋์ ํ๋ ์ฝ๋ ๋ฑ ๋ง๋ค์ด์ผ ํ ๊ฒ์ด ๋๋ฌด ๋ง๋ค....
@Component์ @Autowired๋ฅผ ์ ์ฉํ ๊ธฐ์กด ์ฝ๋์ด๋ค.
@Component
public class OrderServiceImpl implements OrderService {
private final MemberRepository memberRepository;
private final DiscountPolicy discountPolicy;
@Autowired
public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicydiscountPolicy) {
this.memberRepository = memberRepository;
this.discountPolicy = discountPolicy;
}
}
์์ฑ์๋ฅผ 1๊ฐ๋ง ๋๋ฉด ๋ค์๊ณผ ๊ฐ์ด @Autowired๋ฅผ ์๋ตํ ์ ์๋ค.
@Component
public class OrderServiceImpl implements OrderService {
private final MemberRepository memberRepository;
private final DiscountPolicy discountPolicy;
public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicydiscountPolicy) {
this.memberRepository = memberRepository;
this.discountPolicy = discountPolicy;
}
}
์ต๊ทผ์๋ ์์ ๊ฐ์ด ์์ฑ์๋ฅผ ๋ฑ 1๊ฐ๋ง ๋๊ณ @Autowired๋ฅผ ์๋ตํ๊ณ ์ฌ์ฉํ๋ค. ์ฌ๊ธฐ์ Lombok๋ผ์ด๋ธ๋ฌ๋ฆฌ์ @RequiredArgsConstructor๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ฉด, ์ฝ๋๊ฐ ๊น๋ํด์ง๋ค!!
๋ค์ ์ฝ๋๋ ์ Lombok๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ฉํ ์ต์ข ์ฝ๋์ด๋ค.
@Component
@RequiredArgsConstructor
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;
}
๐์ด ๋ฐ์๋ Lombok๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ @Getter / @Setter ๋ฑ ๋ค์ํ ์ ๋ ธํ ์ด์ ์ ํตํด ์ฝ๋๊ฐ ๋์ด๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ฉด์ ๊ฐ๋ฐ์ ํ์ํ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค..