ABOUT ME

개발 지식을 기록, 정리하는 블로그

Today
Yesterday
Total
  • 스프링 탄생 배경
    spring/스프링 핵심 원리 강의 내용 정리 2023. 12. 5. 17:57

    스프링의 핵심 가치는 객체지향 프로그래밍에 있다
    이해하기가 어려운 이유도 이와 같다
    백엔드 개발자로 성장하려면 이런 스프링의 핵심 가치와 원리를 이해할 필요가 있다
    스프링이 없던 시절부터 왜 등장하게 되었는지까지 알아보자

    스프링 탄생 배경

    EJB라는 자바의 표준 기술이 있었다
    그 당시에는 오픈소스 같은 것은 사파의 기술로 불렸다
    스프링 + jpa 같은 종합 선물 세트였다
    금융권 같은 곳에서 굉장히 많이 사용했다
    이론은 좋았지만... 비싸고, 느리고, 복잡했다
    그러한 고통 속에서 개발자들은, 순수한 자바로 돌아가자는 의견을 내게 된다
    그래서 나오게 된 기술이 POJO 라는 말 까지 나왔다
    오래된 방식의 자바 오브젝트를 쓰자 라는 뜻이다

    그러던 중 두명의 개발자가 나왔다
    두 개발자가 각각 (미래의)스프링, 하이버네이트라는 오픈 API를 만들었다
    또한 자바의 표준을 정하는 사람들이 하이버네이트 제작자를 채용하여
    하이버네이트를 거의 그대로 사용해 JPA라는 표준 인터페이스를 만들었다

    이렇게 스프링과 JPA가 자리잡았고, 현재의 자바 ORM 시장은 대부분 JPA가 먹고 있다
    또한 구현체는 하이버네이트가 90% 이상 먹고 있다

    스프링의 역사

    2002년 저자 로드 존슨이 책을 출간했다
    EJB의 문제점을 지적하고, 3만 라인 이상의 기술을 선보이며 EJB 없이도 충분히 고품질의 확장 가능한
    애플리케이션을 개발할 수 있음을 증명했다
    여기에 지금의 스프링 핵심 개념과 기반 코드가 들어있다
    감명받은 개발자들이 자신의 프로젝트에 책에 실린 코드를 그대로 가져다 쓰기 시작했다
    이것이 스프링의 시작이라 할 수 있다

    이 사실을 알게된 유겐 흴러와 얀 카로프가 로드 존슨에게 오픈소스 프로젝트를 제안했다
    스프링의 핵심 코드의 상당수는 지금도 유겐 흴러가 개발하고 있다
    스프링의 이름은 EJB라는 겨울을 넘어 새로운 시작(봄)이라는 뜻으로 지었다고 한다

    그 책의 내용이 어땠길래 그 시대의 수많은 개발자가 감명을 받게 되었을까?
    앞으로 스프링을 배우다 보면, 자연스레 그 책에 적힌 코드를 따라하게 될 것이다

    2003년에 출시했던 스프링 1.0 시절에는, XML을 주로 사용하여 설정했다
    2009년에 스프링 3.0을 시작으로 본격적으로 자바 코드를 통해 설정을 할 수 있게 되었다
    2014년에 스프링 부트가 출시했다
    설정이 너무나 복잡했던 스프링의 단점을 개선했고, 서버도 내장하고 있기에 편리해졌다

Designed by Tistory.