Back to writing

토비의 스프링 - 들어가며

토비의 스프링 - 들어가며

스프링이란 무엇인가?

애플리케이션의 기본 틀 - 스프링 컨테이너

  • 스프링 컨테이너 = 애플리케이션 컨텍스트
  • 설정 정보를 참고해서 애플리케이션을 구성하는 오브젝트를 생성하고 관리

공통 프로그래밍 모델 - IoC/DI, 서비스 추상화, AOP

프레임워크는 애플리케이션 코드가 어떻게 작성돼야 하는지에 대한 기준도 제시해준다. - 프로그래밍 모델

  1. IoC/DI: 오브젝트의 생명주기와 의존관계 관리
  2. 서비스 추상화: 환경이나 서버, 특정 기술에 종속되지 않고 이식성이 뛰어남
  3. AOP: 코드에 산재해서 나타나는 부기적인 기능을 독립적으로 모듈화

스프링의 성공요인

단순함

  • 스프링은 EJB라는 표준 기술을 비판하면서 등장
  • 스프링이 강력히 주장하는 것은 가장 단순한 객체지향적인 개발 모델인 POJO 프로그래밍

유연성

  • 스프링의 개발 철학 중 하나는 “항상 프레임워크 기반의 접근 방법을 사용하라”이다.
  • 스프링 기능의 대부분은 핵심 기능을 확장해서 발전시킨 결과물이다.
  • 스프링을 제대로 사용하려면서 스프링을 필요에 맞게 확장해서 자신만의 프레임워크를 만들어서 사용할 줄 알아야 한다.

스프링 학습과 활용의 어려움

스프링의 가치를 제대로 누리며 사용하려면 스프링을 제대로 공부해야 한다.

  • 스프링에 핵심 가치와 원리에 대한 이해
    • 스프링이 강조하는 중요한 프로그래밍 모델이 있음
    • 일관된 방식으로 이해할 수 있는 눈을 가지는 것
  • 스프링의 기술에 대한 지식과 선택 기준 정립
    • 스프링이 제공하는 방법중에서 어떤 것을 선택할지, 연동하는 프레임워크는 어떤 것을 선택하고 어떤 스타일로 사용할지 다양한 선택의 문제를 효과적으로 다루는 방법을 배워야한다.
  • 스프링의 적용과 확장
    • 스프링의 다양한 기술을 어떻게 실제 애플리케이션 개발에 어떤식으로 적용해야 하는지