토비의 스프링 - 1일차

김재현·2022년 9월 16일
0

JavaSpring

목록 보기
1/2
  • 스프링 : 자바 애플리케이션 개발에 사용되는 애플리케이션 프레임워크
    애플리케이션 프레임워크 : 애플리케이션 개발을 빠르고 효율적으로 할 수 있도록 애플리케이션의 바탕이 되는 틀, 공동 프로그래밍 모델, 기술 API 등을 제공.

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

  • 스프링은 스프링 컨테이너, 또는 애플리케이션 컨텍스트라 불리는 스프링 런타임 엔진을 제공하며, 이것은 설정정보를 참고로 해 애플리케이션을 구성하는 오브젝트를 생성하고 관리함.
    독립적 동작도 가능하지만, 보통 웹 모듈에서 동작하는 서비스나 서블릿으로 등록해서 사용함.

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

  • 프레임웤은 애플리케이션 코드가 어떻게 작성돼야 하는지에 대한 기준도 제시함. → 보통 프로그래밍 모델이라고 한다.
  • IoC/DI : 오브젝트 생명주기와 의존관계에 대한 프로그래밍 모델.
    스프링 프레임워크에서 동작하는 코드는 이 방식을 따라서 작성돼야 스프링이 제공하는 가치를 제대로 누릴 수 있음.
  • 서비스 추상화 : 구체적인 기술과 환경에 종속되지 않도록 유연한 추상 계층을 두는 방법.
  • AOP : 애플리케이션 코드에 산재해서 나타나는 부가적인 기능을 독립적으로 모듈화하는 프로그래밍 모델. 이를 이용해 다양한 엔터프라이즈 서비스를 적용하고도 깔끔한 코드를 유지할 수 있게 해줌.

기술 API

  • 방대한 양의 기술 API 제공.
    이 API와 지원 기술은 모두 스프링의 프로그래밍 모델에 따라 작성되었기 때문에, 이를 쓰는 것만으로도 스프링의 프로그래밍 모델을 코드에 자연스럽게 적용할 수 있음.

스프링의 성공요인

단순함

  • EJB라는 불필요하게 복잡한 기술을 비판하면서 등장.
    자바라는 언어의 근본에서 기존 기술의 문제에 대한 해법을 찾았는데, 객체지향 언어의 장점이 그것.
    스프링이 강력히 주장하는 것은 가장 단순한 객체지향적인 개발 모델인 POJO 프로그래밍이다.

유연성

  • 유연성과 확장성이 매우 뛰어남.
    다른 많은 프레임워크와 편리하게 접목돼서 사용될 수 있다. 프레임워크와 프레임워크를 이어주는 접착 프레임워크라고 불리기도 한다.

스프링 학습

1. 스프링의 핵심 가치와 원리에 대한 이해

  • 스프링의 가장 중요한 핵심 가치와 그것이 가능하도록 도와주는 세 가지 핵심 기술을 먼저 이해하자.

2. 스프링의 기술에 대한 지식과 선택 기준 정립

  • 스프링은 매우 범용적인 프레임워크로 스프링이 제공하는 방법 중에서 어떤 것을 선택할지는 개발자의 몫.
    이 다양한 선택의 문제를 각 기술영역별로 효과적으로 다루는 법을 배운다.

3. 스프링의 적용과 확장

  • 다양한 기술을 어떻게 실제 애플리케이션 개발에 어떤 식으로 적용해야하는가? 스프링을 실전에서 사용하는 데 필요한 응용 방법과 확장방법을 고민하자.

0개의 댓글