스프링은 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크를 말합니다. 엔터프라이즈급 애플리케이션을 개발하기 기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션입니다.
스프링부트는 실행하기만 하면 되는 사용화 가능한 수준의 스프링 기반 애플리케이션을 쉽게 만들어 낼 수 있는 프레임워크를 말합니다. 사용하려는 컴포넌트를 종속적으로 추가하면, 결합에 필요한 설정이 자동으로 이뤄집니다.
스프링 부트는 스프링에 속하는 도구로 볼 수 있습니다. 스프링은 의존성 주입, 중복된 코드 제거, 다른 프레임워크와의 통합을 통해 엔터프라이즈 급 애플리케이션을 제작한다면, 스프링 부트는 자동 설정, 쉬운 의존성 관리, 내장 서버를 제공해 최소한의 번거로움으로 스프링 기반의 애플리케이션을 제작합니다.
스프링 프레임워크에서 제공하는 모듈 중 하나입니다. Spring MVC는 완전한 기능을 갖춘 MVC 구현을 목표로 하고 있으며, POI와 같은 다양한 뷰 기술을 허용합니다.
인버젼 오프 컨트롤의 약자로 제어의 역전을 말합니다. 기존 프로그램이 모든 작업을 사용자가 제어하는 구조라면, IOC기반은 사용자가 컨트롤 하지 않고 제어의 흐름을 위임받은 객체가 컨트롤 하는것을 말합니다.
디펜던시 인젝션, 즉 의존성 주입을 말합니다. 객체가 서로 의존하는 관계가 되도록 의존성을 주입하는것을 말하는데, IOC기반의 프로그램 에서는 각 클래스 사이에 필요로 하는 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결하는 것을 말합니다.
디펜던시 룩업, 즉 의존성 검색을 말합니다. 직접 ID값을 검색하여 bean 객체를 불러오는것을 말합니다.
스프링 프레임워크에서 제공하는 어노테이션으로, Bean 객체와 같은 타입의 객체를 찾아서 자동으로 주입해주는 어노테이션 입니다. 하지만 해당 객체를 Bean 어노테이션을 통해 등록하지 않으면 주입할 수 없습니다.