DI (의존성 주입) 지원
웹 서버에서는 비즈니스 로직이 가장 중요한 구현 부분
- 비즈니스 로직 외에 다른 부분은 스프링 프레임워크가 쉽게 구현 가능하도록 도움을 줌
1. Client 와의 communication 역할을 하는 Controller
2. DB 와의 communication 역할을 하는 Spring Data JPA
"강한결합"의 문제점: 각 Controller가 각 Service를 생성하여 사용하며, 만약 repository 생선자 변경이 있다면 모든 controller와 모든 service의 코드 변경이 필요하다.
"강한결합"의 해결방법: 각 객체애 대한 객체 생성은 딱 1번하며, 갱성된 객체를 모든 곳에서 재사용
<제어의 역전 Ioc:Inversion of Control>