πŸ’» BackEnd/🟒 Spring | SpringBoot

🟒 [Spring] @RequiredArgsConstructor μƒμ„±μž μ£Όμž…

Dbswnstjd 2023. 7. 11. 10:16


🚩 @RequiredArgsConstructor μƒμ„±μž μ£Όμž…

μ•žμ„œ μ˜μ‘΄μ„± μ£Όμž…μ— λŒ€ν•΄ ν¬μŠ€νŒ…μ„ ν–ˆμ—ˆλ‹€. μ˜μ‘΄μ„± μ£Όμž…μ€ 크게 3가지가 μžˆλŠ”λ° κ·Έ 쀑 μƒμ„±μž μ£Όμž…μ„ μ‚¬μš©μ„ ν•΄μ•Όν•œλ‹€κ³  이전에 μ„€λͺ…을 ν–ˆλ‹€. κ·Έ λ•Œ μ„€λͺ…ν•  λ‹Ήμ‹œμ—λŠ” @Autowired μ–΄λ…Έν…Œμ΄μ…˜μ„ μ‚¬μš©ν•΄μ„œ λͺ¨λ“  μƒμ„±μžμ— μΆ”κ°€λ₯Ό ν•΄μ£ΌλŠ” 방식을 μ‚¬μš©ν•˜μ˜€μœΌλ‚˜ Lombok을 μ‚¬μš©ν•˜λ©΄ μ½”λ“œκ°€ 더 κΉ”λ”ν•˜κ³  간결해진닀. 

 

https://dev-wnstjd.tistory.com/447

 

🟒 [Spring] μŠ€ν”„λ§ μ˜μ‘΄μ„± μ£Όμž…(DI) - [1]

🚩 μ˜μ‘΄μ„± μ£Όμž…μ˜ κ°œλ…κ³Ό ν•„μš”μ„± [ μ˜μ‘΄μ„± μ£Όμž…μ΄λž€β“] Spring ν”„λ ˆμž„μ›Œν¬λŠ” 3가지 핡심 ν”„λ‘œκ·Έλž˜λ° λͺ¨λΈμ„ μ§€μ›ν•˜κ³  μžˆλ‹€. κ·Έ 쀑 ν•˜λ‚˜λ‹€ μ˜μ‘΄μ„± μ£Όμž…(Dependency Injection, DI) 이닀. DIλŠ” μ™ΈλΆ€μ—μ„œ 두

dev-wnstjd.tistory.com

https://dev-wnstjd.tistory.com/448

 

🟒 [Spring] μŠ€ν”„λ§ μ˜μ‘΄μ„± μ£Όμž…(DI) - [2]

🚩 μƒμ„±μž μ˜μ‘΄μ„± μ£Όμž… [ DI ] 을 μ¨μ•Όν•˜λŠ” 이유 μ €λ²ˆ κΈ€μ—μ„œ μ˜μ‘΄μ„± μ£Όμž…μ— λŒ€ν•΄ μ„€λͺ…ν•˜μ˜€λ‹€. ν•„λ“œ μ£Όμž…, μˆ˜μ •μž μ£Όμž…, μƒμ„±μž μ£Όμž…μ„ μ„€λͺ…ν•˜μ˜€λŠ”λ° 이 쀑 μƒμ„±μž μ£Όμž…μ„ μ¨μ•Όν•˜λŠ” 이유λ₯Ό μ„€λͺ…ν• 

dev-wnstjd.tistory.com

 


🚩 @RequiredAllArgsConstructor μ–΄λ…Έν…Œμ΄μ…˜μ„ μ‚¬μš©ν•œ μƒμ„±μž μ£Όμž… μ½”λ“œ

@Controller
@RequiredAllArgsConstructor
public class Controller{
	
    private final IService service;
    private final ItestService testService;
    
    // biz()
}

이와 같이 μ½”λ“œκ°€ 맀우 κ°„κ²°ν•΄μ‘Œλ‹€. 가독성도 μ’‹κ³  μƒμ„±μžλ₯Ό κ°œλ°œμžκ°€ 직접 λ§Œλ“€μ§€ μ•Šμ•„λ„ λœλ‹€. 

 

πŸ“ƒ 기쑴의 μƒμ„±μž μ£Όμž… μ½”λ“œ

@Controller
@RequiredAllArgsConstructor
public class Controller{
	
    private final IService service;
    private final ItestService testService;
    
    public Controller(IService service, ItestService testService){
    	this.service = service;
        this.testService = testService;
    }
    // biz()
}

기쑴에 μƒμ„±μž μ£Όμž…μ„ ν•˜λ €λ©΄ ν•„λ“œκ°€ λ³€κ²½λ˜μ—ˆμ„ λ•Œ κ°œλ°œμžκ°€ μƒμ„±μžλ₯Ό μƒˆλ‘œ λ§Œλ“€κ±°λ‚˜ μ½”λ“œμ˜ μˆ˜μ •μ΄ ν•„μš”ν•˜μ˜€μœΌλ‚˜ @RequiredArgsConstructor μ–΄λ…Έν…Œμ΄μ…˜μ„ μ‚¬μš©ν•˜λ©΄ private final .. 만 λ„£μ–΄μ£Όλ©΄ λ˜λ―€λ‘œ νŽΈν•˜κ²Œ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ‹€.