자바 기반 서버 개발을 위한 프레임워크로
객체지향 원칙을 극대화하여 유지보수성과 확장성을 높이는 강력한 플랫폼
1) 핵심
IoC(제어의 역전) / DI(의존성 주입)
객체 생성과 생명주기를 개발자가 아니라 Spring Container가 관리
의존성을 외부에서 주입하여 느슨한 결합(Loose Coupling)을 실현
테스트, 유지보수, 모둘화에 매우 유리
@Service
public class MemberService {
private final MemberRepository repo;
@Autowired
public MemberService(MemberRepository repo) {
this.repo = repo;
}
}