1. 자바 진영의 과거: EJB의 등장과 한계
과거 자바 진영에서는 엔터프라이즈 애플리케이션 개발 시 EJB (Enterprise JavaBeans) 가 표준처럼 사용되었습니다. 하지만 이 기술은 너무 복잡했습니다.
- 비즈니스 로직을 작성하려면 EJB 인터페이스, 홈 인터페이스, 실제 구현 클래스를 각각 만들어야 했고
- 배포 시에도 ejb-jar.xml 등의 복잡한 설정 파일이 필요했으며
- 개발 속도는 느리고 테스트도 어려웠습니다.
즉, 개발자 입장에서 생산성과 유지보수성이 모두 떨어지는 구조였던 셈입니다.
2. 경량 컨테이너와 POJO 기반 개발의 등장
이러한 문제에 대한 반발로 등장한 개념이 경량 컨테이너와 POJO (Plain Old Java Object) 기반 개발입니다.
- 특별한 규약 없이, 단순한 자바 객체로 로직을 작성하고
- 필요한 기능은 프레임워크가 제공하는 방식으로 설정과 관리를 맡깁니다.
이러한 흐름에서 대표적으로 등장한 프레임워크들이 바로:
- Struts
- Spring
- Hibernate 등입니다.
그중에서도 Spring은 EJB의 무거움을 해소하면서도 필요한 기능은 모두 제공하는 경량 프레임워크로 급부상하게 됩니다.
3. 스프링의 탄생: 로드 존슨의 한마디
"EJB 없이도 엔터프라이즈 애플리케이션은 충분히 만들 수 있다."
이 말과 함께 등장한 책이 바로 로드 존슨(Rod Johnson)의 『Expert One-on-One J2EE Design and Development』 입니다.
이 책의 부록에는 스프링 프레임워크 초기 버전이 포함되어 있었고, 이는 점차 많은 개발자들의 호응을 얻으며 지금의 Spring Framework로 발전하게 됩니다.
'Spring' 카테고리의 다른 글
[Spring 완전 정복 시리즈] 6편 - 예제 만들기: 역할과 구현 분리의 시작 (1) | 2025.07.26 |
---|---|
[Spring 완전 정복 시리즈] 5편 - 객체 지향 설계와 스프링: DI가 왜 중요한가? (0) | 2025.07.23 |
[Spring 완전 정복 시리즈] 4편 - 좋은 객체 지향 설계의 5가지 원칙 (SOLID) (0) | 2025.07.23 |
[Spring 완전 정복 시리즈] 3편 - 객체 지향 특징: 유연하고 변경에 강한 코드의 시작 (6) | 2025.07.23 |
[Spring 완전 정복 시리즈] 2편 - 스프링이란? (0) | 2025.07.23 |