[Spring] 첫 SPRING..

hyoreal·2022년 8월 7일
0

[Spring]

목록 보기
1/25
post-thumbnail

지금 날씨는 한여름이지만 나에게는 봄이 왔다.
비록 이른 봄이지만 나에게 온 만큼 온 힘을 다해 공부해보려한다.
아예 기초도 모르는 상태기에 기초부터 다져본다.

🌸SPRING🌸

Application Framework : 애플리케이션 개발을 빠르고 효율적으로 할 수 있도록 애플리케이션의 바탕이 되는 틀공통 프로그래밍 모델, 기술 API 등을 제공

Spring : 자바 엔터프라이즈 애플리케이션 개발에 사용되는 애플리케이션 프레임워크

SPRING Container

Spring container : Spring이 제공하는 Spring Runtime Engine.

  • 스프링 컨테이너는 설정정보를 참고하여 애플리케이션을 구성하는 객체를 생성하고 관리한다.

    • 객체들의 생명주기를 관리하며, 생성된 인스턴스들에게 추가기능 제공
  • 독립적인 존재이지만, 보통 웹 모듈에서 동작하는 서비스/서블릿으로 등록해서 사용

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

프로그래밍 모델 : 애플리케이션을 구성하는 객체 생성 및 동작 방식에 대한 틀과 애플리케이션 코드가 어떻게 작성되어야 하는지에 대한 기준 제시

Spring의 3가지 핵심 프로그래밍 모델

  • IoC/DI : 객체의 생명주기의존관계에 대한 프로그래밍 모델
    • Spring객체지향 설계원칙과 디자인 패턴의 핵심원리를 담고있는 IoC/DI를 프레임워크의 근간으로 삼고있다.
    • Spring이 제공하는 모든 기술API, 컨테이너IoC/DI 방식으로 작성되어있다.

  • 서비스 추상화 : Spring이 특정 기술에 종속되지 않고 유연한 애플리케이션을 만들 수 있도록 한다.
    • 구체적인 기술과 환경에 종속되지 않도록 유연한 추상계층을 두는 방법

  • AOP : 애플리케이션 코드에서 나타나는 부가적인 기능을 독립적으로 모듈화하는 프로그래밍 모델
    • Spring은 AOP를 사용하여 다양한 엔터프라이즈 서비스를 적용하고도 깔끔한 코드를 유지하게 해준다.

🔅 모듈화 : 부분(유닛)별로 나눠 조각조각 낸 뒤 현장에서 재조립하는 방식

Spring 개발자라면 3가지 프로그래밍 모델을 잘 이해하는것이 가장 중요하다❗

Spring은 방대한 양의 API를 제공해준다.

  • UI작성
  • 웹 프레젠테이션 계층
  • 비즈니스 서비스 계층
  • 기반 서비스 계층
  • 도메인 계층
  • 데이터 엑세스 계층

등 필요한 주요 기술들을 Spring에서 일관된 방식으로 사용할 수 있게끔 지원하는 기능과 전략 클래스 등 을 제공한다.

Spring의 모든 기술은 표준 자바 엔터프라이즈 플랫폼<JavaEE>에 기반을 두고 있다

profile
좌충우돌 코린이 성장기

0개의 댓글