2000년대 초반, 이 당시 개발자들은 java의 Enterprise Java Beans(EJB)를 사용했었음
EJB는 애플리케이션의 비즈니스 로직을 캡슐화하는 서버 측 소프트웨어 구성요소임
하지만 EJB의 복잡성(그리고 EJB로직에 의존하며 코드를 짜야 하는 경우가 많았음), 느린 속도 때문에 EJB의 단점이 부각.
그런 단점 때문에 다시 간단한 자바 오브젝트를 사용했던 시절로 돌아가고 싶은 개발자들이 많았다.
-> Plain Old Java Object(POJO)
이에 로드 존슨이 EJB의 문제점을 비판하고 이를 해결하기 위한 오픈소스를 담은 책을 발간
-> 이 때 많은 개발자들이 로드 존슨의 오픈소스를 많이 사용하였다고 한다.
-> 로드 존슨이 발간한 책에는 스프링 핵신 개념과 기반 코드가 들어 있다.
유겐 휠러, 얀 카로프가 로드 존슨에게 오픈소스 프로젝트를 제안.
얀 카로프는 J2EE(EJB) 겨울을 넘어 새롭게 시작하자는 의미로 프로젝트 이름을 spring으로 지었다.