본문 바로가기
Knowledge/CS

[CS] 스프링 프레임워크란?

by YoonJong 2023. 1. 13.
728x90

먼저 프레임워크란, 뼈대!

소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능한 형태로 클래스들을 제공하는 것이다.

ex) 자동차 프레임, 뼈대

 

라이브러리란, 도구!

자주 사용되는 로직을 재사용하기 편리하도록 정리한 코드들의 집합이다.

ex) 자동차의 기능을 하는 부품들

 

스프링의 개념을 알아보자.

스프링(Spring) 은 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 애플리케이션이다.

POJO 기반의 엔터프라이즈 개발을 쉽고 편하게 할 수 있다.

(Plain Old Java Object) : 상속, 인터페이스가 필요없는 단순하고 가벼운 객체

 

주요 특징으로는 스프링의 3요소를 참고했다.

 

1. DI ( Dependency Injection ) : 의존관계 주입

각 계층에서 서비스들간에 의존성이 존재하면 스프링이 서로 연결해준다.

POJO 객체 사이의 의존관계를 스프링이 연관성을 맺어준다.

https://josteady.tistory.com/726

 

DI 의존성 주입 방법에 대해 알아보자

먼저 의존성이란 무엇인지 알아보자. 사용하는 객체 A 와 사용되는 객체 B 가 있다고 예를 들어본다. 아래는 new 키워드를 사용하는 예시이다. 더보기 A는 B 를 사용하기 위해 new 키워드를 이용해

josteady.tistory.com

 

2. AOP ( Aspect Orientated Programming ) : 관점 중심 프로그래밍

핵심적인 비즈니스 로직을 제외하고, 여러 곳에서 공통적으로 쓰이는 기능들을 분리해서 개발할 수 있다.

로깅, 시큐리티, 트랜잭션 등 횡단적인 관심을 수행하는 코드를 aspect 라는 객체로 모듈화해서 사용할 수 있다.

 

3. PSA ( Poterable Service Abstraction ) : 이식 가능한 서비스 추상화

스프링은 다른 라이브러리와 연결할 수 있는 인터페이스를 제공한다.

다른 프레임워크들과의 통합을 지원한다.

728x90

'Knowledge > CS' 카테고리의 다른 글

[CS] 트랜잭션(Transaction) 이란?  (0) 2023.01.28
[CS] 시스템 콜  (0) 2023.01.23
[CS] HTTP 1.0 / 1.1 / 2  (0) 2023.01.11
[CS] 네트워크 토폴로지  (0) 2022.12.30
[CS] 처리량과 지연시간  (0) 2022.12.30

댓글