Spring은 Java 프레임워크이고, Java는 객체 지향 프로그래밍 언어이다. 즉 Spring에서 구현되는 모든 기능은 어떠한 객체의 메소드로 구현되므로, Spring에선 이러한 기능을 가진 객체를 Singleton 방식, 즉 해당 객체를 단 하나만 생성해 사용하는 방식으로 관리한다. 이 때 Spring에서 관리되는 객체를 Container, Container를 만드는 함수 Bean이라고 부른다. Spring에서 어떠한 클래스를 Container로 만드는 방법은 두 가지가 있는데, 하나는 클래스에 Annotation을 붙여 Container로 만드는 것이고, 또 하나는 설정 클래스에서 객체를 반환하는 함수를 만들고 그 함수에 Annotation을 붙여 Bean으로 만드는 것이다. Bean을 관리할 설..