프레임워크 - 프로그램을 제작하기 쉽도록 어떠한 틀을 만들어놓고 그 안에서 프로그램을 만들 수 있도록 하는 툴.
IoC(Inversion of Control, 제어의 역전) - 객체의 생명주기를 개발자가 아닌 외부에 위임하는 설계원칙. 프레임워크없이 개발을 할 때엔 객체의 생성, 메서드의 호출, 객체의 소멸 등 객체의 생명주기를 개발자가 직접 관리했지만 스프링부트 프레임워크를 사용하면 객체의 생명주기를 프레임워크에 위임할 수 있다.
DI(Dependency Injection, 의존성 주입) - 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고, 런타임시에 관계를 동적으로 주입하여 의존성을 확보하고 결합도를 낮출 수 있게 해주는 것이다.
필터는 주로 클라이언트의 요청애 대한 인증, 권한 체크를 하는데에 쓰이는 문지기같은 역할을 한다. (필터에 대해서는 포스팅을 따로 빼서 정리할 예정이다.)
어노테이션의 사전적 의미는 주석이지만 스프링 내에서의 어노테이션은 소스코드에 추가해서 사용할 수 있는 메타데이터의 일종이다.