TIL, WIL

[WIL] 2023.04.17~.04.23

eivomin 2023. 4. 23. 21:36

๐Ÿ’ฌ ์ด๋ฒˆ์ฃผ ์•Œ๊ฒŒ ๋œ ์  

 

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๋…„์ „์— ์‹ธํ”ผ์—์„œ ์Šคํ”„๋ง์„ ๋ฐฐ์› ๊ณ  ํ”„๋กœ์ ํŠธ๊นŒ์ง€ ํ–ˆ๋Š”๋ฐ ๊ธฐ์–ต์ด ํ•˜๋‚˜๋„ ๋‚˜์ง€ ์•Š๋Š”๋‹ค..

ํ•ญํ•ด ํ•˜๋ฉด์„œ ์—ด์‹ฌํžˆ , ์ž˜ ํ•˜์‹œ๋Š” ๋ถ„๋“ค์ด ๋„ˆ๋ฌด ๋งŽ์•„์„œ ๋‚ด ์ž์‹ ์„ ๋ฐ˜์„ฑํ•˜๊ฒŒ ๋˜๊ณ , ์•ž์œผ๋กœ ๋” ์—ด์‹ฌํžˆ ํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค!

์Šคํ”„๋ง๊ณผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ณ‘ํ–‰ํ•˜๊ธฐ๊ฐ€ ํž˜๋“ค์ง€๋งŒ ๋ถ€์กฑํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‹ค๋ ฅ์„ ๊ธฐ๋ฅด๊ธฐ ์œ„ํ•ด ๊ผญ ํ•˜๋ฃจ์— ํ•œ ๋ฌธ์ œ์”ฉ ํ’€์–ด์•ผ๊ฒ ๋‹ค.. ๐Ÿฅน