728x90

Spring Framework

자바의 엔터프라이즈 애플리케이션 개발을 위한 프레임워크

 

스프링 컨테이너(애플리케이션 컨텍스트)

스프링 프레임워크가 제공하는 런타임 엔진

설정 정보를 바탕으로 애플리케이션의 오브젝트의 생성/관리 담당

독립적으로 실행 가능하지만 서블릿 같은 것으로 등록하여 사용

공통 프로그래밍 모델

프레임워크는 개발을 위한 틀을 제공해준다고 볼 수 있는데

스프링 프레임워크도 IoC/DI,  PSA, AOP라는 개념을 통해

개발자가 어떻게 코드를 작성해야할지 방향성을 제시해준다.

IoC(Inversion of Control, 제어의 역전) / DI(Dependency Injection, 의존성 주입)

객체의 생명주기와 의존관계에 대한 스프링 프레임워크가 제공하는 프로그래밍 모델

객체지향 설계와 디자인 패턴의 핵심 원리를 담고 있으며

스프링 프레임워크가 제공하는 모든 기능도 마찬가지로 해당 프로그래밍 모델로 작성되었다.

 

스프링을 제대로 사용하기 위해서는 해당 프로그래밍 모델에 맞게 코드를 작성하고

해당 프로그래밍 모델을 완벽하게 이해하는 것이 중요

PSA(Portable Service Abstractions, 서비스 추상화)

추상화라는 표현이 포함된 것에서 알 수 있듯이 객체지향 프로그래밍의 추상화처럼

구체적인 기술과 환경에 종속되지 않게 유연한 추상 계층을 두는 프로그래밍 모델

AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)

반복적인 코드를 하나의 메서드로 리팩토링하여 재사용하는 것처럼

공통적으로 사용되는 부가적인 기능을 독립적으로 모듈화하는 프로그래밍 모델

기술 API

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

여러 곳에서 필요한 주요 기술을 일관된 방식으로 사용할 수 있게 기능과 전략 클래스 등을 제공

 

스프링 프레임워크만의 가치

단순함

스프링은 목적을 이룰 수 있는 가장 단순하고 명쾌한 접근 방법을 지향하는 프레임워크로

이를 위해 단순한 객체지향적 개발 모델 POJO 프로그래밍을 사용

유연성

스프링은 유연성과 확장성이 매우 뛰어난 프레임워크로

다른 프레임워크들을 접목시켜 사용하는 것에 있어서 편리하고

개발자의 필요에 따라 스프링 프레임워크를 확장해서 사용할 수도 있다.

 

스프링 프레임워크를 공부하는 방법

핵심 가치와 원리 이해

스프링이 지향하는 핵심 가치를 이해하고

핵심 가치가 어떻게 적용되었는지 이해하기

 

POJO, IoC/DI, PSA, AOP

스프링의 기술 지식과 기술 선택 기준

스프링이 제공하는 기술의 종류와 접근 방법

상황에 맞는 기술과 접근 방법 선택에 대한 기준 마련에 대해 학습

적용과 확장

실제 애플리케이션에서 사용하기 위한 스프링의 응용과 확장 방법 공부

'Back-End > Spring' 카테고리의 다른 글

싱글톤 레지스트리 / 오브젝트 스코프  (0) 2023.06.07
스프링 IoC  (0) 2023.06.05
IoC(Inversion of Control, 제어의 역전)  (0) 2023.06.05
초난감 DAO와 객체지향  (0) 2023.06.05
초난감 DAO 리팩토링하기  (0) 2023.06.05

+ Recent posts