Spring을 사용하면서 우리는 자연스럽게 이런 문장들을 말합니다.“이건 스프링이 알아서 해줘요”“DI라서 테스트하기 좋아요”“설정은 Boot가 자동으로 해주잖아요”하지만 정작 Spring이 왜 이런 구조를 가지게 되었는지, 그리고 어떤 문제를 해결하려고 만들어졌는지를 정확히 설명하기는 쉽지 않습니다.이 시리즈의 첫 글에서는 코드를 거의 다루지 않고, Spring Framework가 등장하게 된 배경과 핵심 철학부터 정리해보려고 합니다.1. Spring 이전의 Java 서버 개발은 무엇이 문제였을까Spring이 등장하기 전, 엔터프라이즈 Java 개발의 중심에는 EJB(Enterprise JavaBeans)가 있었습니다. EJB는 “대규모 엔터프라이즈 애플리케이션”을 목표로 설계되었지만, 실제 개발자 경..