본문 바로가기

Spring2

[Spring] 스프링의 DI 의존성 주입 이유, 장점 알아보기 예전에 스프링의 di 그중에서도 생성자주입을 하는 것이 좋다고 설명하는 문서들을 조합, 정리해서 올렸던 적이 있다. 전에는 뭔지도 모르고 이렇게 해야 된다니까 했었는데 저 흐름을 알고 나니까 한층 머리가 정리된 것 같았다. 나는 무작정 외우기 보단 이해를 해야 암기를 잘하는 편이라 그런지 그런 원리를 알고 나니까 훨씬 스프링이 덜 복잡해졌다. 스프링을 쓰면 가장 먼저 접하는 게 의존성 주입이기 때문에 기본적인 개념이지 않을까 싶다. 그러니까 반복해도 좋겠지 모그리고 디자인패턴을 한번 싹 따라만 해봐도 전보다 훨씬 이해가 잘된다. 누가 이걸 해보면 좋다길래 무작정 인프런강의 보면서 따라 쳤는데 아 그래서 이렇게 쓰는구나?! 유레카 한다.ㅋㅋㅋ그래서 다시 di를 알아보려 한다. 전에는 남들이 올려둔 글을 내.. 2025. 9. 29.
SpringBoot 의존성 주입 DI, 필드주입@Autowired ->생성자주입@RequriedArgsConstructor 의존성 주입을 하는 여러 방식 Spring에서 의존성을 주입(DI : Dependency Injection)하는 방법은 생성자 주입(lombok의 @RequiredArgsConstructor이용), 필드주입(필드 주입(@Autowired를 단 필드), 수정자주입(setter메소드에 @Autowired) 3가지 방식이 있다. 우선 의존성 주입이란 무엇인지 알아보자. new연산자를 이용하여 객체를 생성하는 것이 아니고, 외부에서 객체를 주입받아 생성하는 것이다. 객체 내부에 다른 객체를 생성하면 수정 시 새로 생성된 클래스도 함께 수정해야 하므로 강한 결합도를 가지고, 코드의 재활용성이 떨어지는 문제가 생긴다. ( 결합도는 낮추고 응집도는 높여야 한다. ) 그러나 스프링은 @Autowired을 붙이는 필드 .. 2022. 2. 15.