Back to writing
토비의 스프링 - 들어가며
스프링이란 무엇인가?
애플리케이션의 기본 틀 - 스프링 컨테이너
- 스프링 컨테이너 = 애플리케이션 컨텍스트
- 설정 정보를 참고해서 애플리케이션을 구성하는 오브젝트를 생성하고 관리
공통 프로그래밍 모델 - IoC/DI, 서비스 추상화, AOP
프레임워크는 애플리케이션 코드가 어떻게 작성돼야 하는지에 대한 기준도 제시해준다. - 프로그래밍 모델
- IoC/DI: 오브젝트의 생명주기와 의존관계 관리
- 서비스 추상화: 환경이나 서버, 특정 기술에 종속되지 않고 이식성이 뛰어남
- AOP: 코드에 산재해서 나타나는 부기적인 기능을 독립적으로 모듈화
스프링의 성공요인
단순함
- 스프링은 EJB라는 표준 기술을 비판하면서 등장
- 스프링이 강력히 주장하는 것은 가장 단순한 객체지향적인 개발 모델인 POJO 프로그래밍
유연성
- 스프링의 개발 철학 중 하나는 “항상 프레임워크 기반의 접근 방법을 사용하라”이다.
- 스프링 기능의 대부분은 핵심 기능을 확장해서 발전시킨 결과물이다.
- 스프링을 제대로 사용하려면서 스프링을 필요에 맞게 확장해서 자신만의 프레임워크를 만들어서 사용할 줄 알아야 한다.
스프링 학습과 활용의 어려움
스프링의 가치를 제대로 누리며 사용하려면 스프링을 제대로 공부해야 한다.
- 스프링에 핵심 가치와 원리에 대한 이해
- 스프링이 강조하는 중요한 프로그래밍 모델이 있음
- 일관된 방식으로 이해할 수 있는 눈을 가지는 것
- 스프링의 기술에 대한 지식과 선택 기준 정립
- 스프링이 제공하는 방법중에서 어떤 것을 선택할지, 연동하는 프레임워크는 어떤 것을 선택하고 어떤 스타일로 사용할지 다양한 선택의 문제를 효과적으로 다루는 방법을 배워야한다.
- 스프링의 적용과 확장
- 스프링의 다양한 기술을 어떻게 실제 애플리케이션 개발에 어떤식으로 적용해야 하는지