<들어가며>
- 스프링이란 무엇인가? :
애플리케이션 프레임워크-> 개발을 빠르고 효율적으로 하도록, 바탕이 되는 틀, 공통 프로그래밍 모델, 기술 API 제공
* 애플리케이션의 기본 틀 - 스프링 컨테이너
. 스프링 컨테이너: 설정정보를 참조, 애플리케이션을 구성하는 오브젝트를 생성/관리
-> 스프링 컨테이너를 다루는 법/설정 정보를 작성하는 법을 알아야 함
* 공통 프로그래밍 모델 : 애플리케이션 코드가 어떻게 작성되어야 하는지 기준 제공
. IoC/DI : 오브젝트 생명주기, 의존관계에 대한 프로그래밍 모델(설계 원칙, 핵심 원리)
. 서비스 추상화 : 환경, 서버, 특정 기술에 비종속적
. AOP : 애플리케이션 코드에 산재해서 나타나는 부가적 기능을 독립 모듈화
* 기술 API
. 일관된 방식으로 사용할 수 있도록 기능, 전략 클래스를 제공
- 스프링의 성공요인
사실상 자바 엔터프라이즈 표준 기술: 기본에 충실했기 때문스프링을 사용하면서 얻게 되는 두 가지 중요한 가치
* 단순함
. EJB의 불필요한 복잡성 비판
-> 목적을 이룰 수 있는 가장 단순하고 명쾌한 접근/ 객체자향 언어의 장점을 살렸음.
* 유연성
. 유연성과 확장성 => 접착 프레임워크/ 스스로 발전하는 프레임워크
-> 스프링을 제대로 사용하려면 스프링을 필요에 맞게 확장해서 자신만의 프레임워크를 만들어서 사용할줄 알아야 한다.
- 스프링 학습과 활용의 어려움
스프링의 가치를 제대로 누리며 사용하려면 스프링을 제대로 공부해야 한다.* 스프링의 핵심 가치와 원리에 대한 이해(Vol 1)
. 핵심 기술, 프로그래밍 모델을 이해
* 스프링의 기술에 대한 지식과 선택 기준 정립(Vol 2)
. 다양한 선택의 문제를 각 기술영역별로 효과적으로 다루는 법 학습
. 최선의 기술과 접근방법을 선택할 수 있어야
* 스프링의 적용과 확장
. 스프링의 자유도를 줄이고 각 현장의 상황에 맞는 접근 방법을 정립
- 스프링을 성공적으로 학습했다면
스프링을 학습하고 적용한 후 자신의 코드가 좀 더 깔끔하고 단순해지면서 객체지향 원칙에 충실하게 작성됬는지, 생산성과 품질이 좀 더 나아졌는지 확인. 더 많은 테스트 코드를 작성하고 유연하고 확장이 손쉬운 애플리케이션을 만들고 있는지.학습 시간: 2013.11.27 오전 9:30 ~ 10:30