[백엔드 첫 걸음] Spring Framework?

khyojun·2022년 6월 27일
0

Spring 시작

목록 보기
1/15

Framework가 뭐죠?

그저 그냥 뜻만 풀이하자면 Framework = 뼈대 라고 볼 수도 있지만 프로그래밍 적인 관점으로 보자면
뼈대 = 프로그램의 기본 구조 로 볼 수 있다.

원하는 기능 구현에만 집중하여 빠르게 개발 할 수 있도록 기본적으로 필요한 기능을 갖추고 있는 것으로 위에서 설명한 라이브러리가 포함되어 있습니다. ~~~라고 하는 설명이 있는데

한 마디로는

프레임워크란 웹 개발을 보다 쉽고 간편하게 할 수 있도록 도와주는 도구이다.

그 중 하나로 지금 우리가 알아볼려고 하는 Spring이다.

다른 대표적인 FrameWork로는

  • Python -> Django
  • Java -> Spring
  • JavaScript -> Express 등등이 있다.

spring

Spring Framework란?

Spring Framework 는 Java 플랫폼 을 위한 애플리케이션 프레임워크 이자 제어 컨테이너 의 역전입니다 . 프레임워크의 핵심 기능은 모든 Java 애플리케이션에서 사용할 수 있지만 Java EE (Enterprise Edition) 플랫폼 위에 웹 애플리케이션을 구축하기 위한 확장이 있습니다. 프레임워크는 특정 프로그래밍 모델 을 강요하지 않지만 EJB( Enterprise JavaBeans ) 모델 에 추가되어 Java 커뮤니티에서 인기를 얻었습니다 . Spring Framework는 오픈 소스 입니다.
출처: https://en.wikipedia.org/wiki/Spring_Framework#Version_history

이름은 왜 spring인가요?

Spring이라는 이름의 유래는 Java EE(엔터프라이즈 에디션)의 스펙을 구현한 EJB가 기술의 복잡도가 증가해서 성능이 느렸던 것을 탈피해야겠다고 하여 EJB 시절을 -> 겨울 로 빗대어 겨울 후의 "봄"으로 새로운 시작을 한다는 의미에서 spring이 되었다.

봄이다

👉 EJB? : EJB(Enterprise Java Bean), 기업환경의 시스템을 구현하기 위한 서버 측 컴포넌트 모델이다. 일반적으로 업무 로직을 가지고 있는 서버 어플리케이션을 EJB라고 한다.

주요 특징

1. 경량 컨테이너
👉 자바 객체들을 직접 관리한다.
2. 제어 역할(IOC: Inversion of Control)
👉 제어권이 사용자에게 있는게 아니라 프레임워크에 있어서 스프링에서 사용자 코드를 호출한다.
3. 의존성 주입(DI : Dependency Injection)
👉 각 계층, 서비스 간의 의존성이 존재할 경우에는 프레임워크가 서로를 연결을 시켜준다.
4. 관점 지향 프로그래밍(AOP: Aspect- Oriented Programming)
👉 공통적으로 사용하는 기능들을 분리하여 관리한다.
5. MVC 패턴
👉 Model View Controller
6. POJO 방식 프레임워크
👉 Plain Old Java Object 방식의 프레임워크로 단순한 Javabeans 객체를 의미
7. 확장성이 높다.
👉 스프링 프레임워크에 통합하기 위해 간단하게 기존 라이브러리를 감싸는 정도로 스프링에서 사용 가능하기 때문에 수많은 라이브러리가 이미 스프링에서 지원되고 있고 스프링에서 사용되는 라이브러리를 별도로 분리하기도 용이하다.
8. 동적(Dynamic) 웹 사이트 개발을 위한 프레임워크
👉 대한민국 전자정부 표준 프레임워크의 기반 기술

출처: https://ooz.co.kr/170

끝으로

오늘은 간단히 Spring에 대한 특징과 정의에 대해서 알아보았는데 다음 시간에는 Spring을 사용할때 어떤 것들이 있는지 살펴보도록 하자.

profile
코드를 씹고 뜯고 맛보고 즐기는 것을 지향하는 개발자가 되고 싶습니다

0개의 댓글