목록DI (2)
Arthur's Blog
📌 정의 의존성 주입이라고 말하며, 추상화를 해치지 않고 의존성을 인수로 넘겨주는 것을 말한다. 😎 예시 Spring Boot를 예시로 들자면, Service 구현체에서는 Repository와 같이 의존성을 갖는다. 하지만 해당 Service를 추상화 한 interface는 Repository가 인수로 넘어가는 정보를 전혀 담고있지 않다. interface UserService { void removeUser(Long userId); } @Service @RequiredArgsConstructor class UserServiceImpl implements UserService { private final UserRepository userRepository; } 위 코드는 위의 말에 따라서 UserSer..
🎊 시작하기 전에.. DI, IoC, DIP가 비슷비슷한건줄 알고, 어떤 부분이 다른지 몰랐다면 잘 찾아온것이라고 생각한다. 이 글에서는 각 각의 정의, 내용보다는 차이점을 중점적으로 다룰 것이다. 😵 DI, IoC 스프링을 공부하는 사람이라면 DI과 IoC가 거의 동등한 것이라고 생각할 수도 있다. 왜냐하면 스프링 3대 요소를 이야기할 때 IoC/DI라고 많이 이야기 하기 때문이다. 하지만 DI는 IoC를 구현하는 방법 중 하나이다. 하지만 역으로 IoC 컨테이너를 사용하지 않는 DI또한 가능하다. 이를 Pure DI라고 부른다. 참고 위에서 IoC를 사용하지 않는 DI 라는 표현을 했는데, 이 표현은 무리가 있을 수 있다고 생각된다. 왜냐하면 모든 DI 구현체는 IoC로 간주될 수 있기 때문이다. 자..