프레임워크와 라이브러리의 차이
프레임워크
원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대
라이브러리
소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임, 즉 특정 기능을 모아놓은 코드, 함수들의 집합이며 코드 작성 시 활용 가능한 도구들
라이브러리를 사용하는 애플리케이션 코드는 애플리케이션 흐름을 직접 제어
프레임워크는 애플리케이션 코드가 프레임워크가 짜 놓은 틀에서 수동적으로 동작
프레임워크 :
라이브러리: 
POST와 PUT의 차이
POST : 동일한 entity의 Request를 N번 보낸다면, N개의 새로운 리소스 생성(멱등 X)
PUT : 덮어쓰는 것(Resource 존재 유무에 따라 Update or Create)
@PathVariable과 @RequestParam의 차이
@PathVariable : 경로의 일부가 고정되어 있지 않고 달라질 때 사용할 수 있는 방법
ex) /hello/오형상/26
@RequestParam : 요청 파라미터 개수가 적을 때 사용하는 방법
ex) /hello/?name=오형상&age=26
whitelabel Error Page란?
SpringBoot 컨테이너
기존의 Spring이 없는 순수한 DI 컨테이너의 문제점과 해결방법
싱글톤 패턴의 문제점
위의 싱글톤 문제들을 전부 스프링 컨테이너가 해결해 주므로 우리는 그냥 사용 하면 된다.
@Configuration과 싱글톤 컨테이너
스프링은 클래스의 바이트코드를 조작하는 라이브러리를 사용하여 AnnotationConfigApplicationContext에 파라미터로 넘긴 AppConfig가 스프링 빈으로 등록
스프링 빈을 조회하여 클래스 정보를 출력한 결과