스프링 프레임워크 (Spring Framework)
- 자바 기반의 오픈소스 애플리케이션 프레임워크 (=Spring)
- 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스 제공
- 장점
- 경량 컨테이너
- IoC(Invertion of Control : 제어 역행) -> 객체, 메서드 호출 시 처리하지않고 외부(Spring)에서 처리함
- DI(Dependency Injection : 의존성 주입) -> 객체 사이에 필요한 의존 관계에 대해 스프링 컨테이너가 자동으로 연결해 주는 것
- AOP(Aspect-Oriented Programming : 관점 지향 프로그래밍) -> 중복 코드 제거, 효율적인 유지보수, 높은 생산성, 재활용성 극대화, 변화 수용 용이 등의 이점이 있음
스프링 부트 (Spring Boot)
- 스프링 프레임워크를 사용하기 위한 설정의 많은 부분을 자동화하여 사용자가 편하게 스프링을 활용할 수 있도록 도움
- 내장형 톰캣을 가지고 있기 때문에 별도의 톰캣을 설정할 필요가 없어졌으며, 그렇기 때문에 독립적으로 실행 가능한 jar로 손쉬움 배포 가능
- stater를 통한 dependency 자동화 가능
- 스프링에서는 각각의 dependency들의 호환되는 버전을 일일이 맞추어 줘야 했지만, 스프링 부트는 stater가 대부분의 dependency를 관리해주기 때문에 이러한 걱정을 덜게 되었음
- XML 설정을 하지 않아도 됨
즉, 스프링 부트는 스프링 자체의 확장 버전!