일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 알고리즘공부
- 서평
- 프로그래머스 알고리즘 공부
- 알고리즘 공부
- 지혜를가진흑곰
- 백준알고리즘
- Java
- 알고리즘트레이닝
- 주식
- 성분
- JavaScript
- 다독
- 자바스크립트
- 투자
- algorithmTest
- 화장품
- 재테크
- 독서
- 채권
- algorithmStudy
- 책알남
- 돈
- 책을알려주는남자
- 프로그래밍언어
- 경제
- C
- 독후감
- algorithmtraining
- 자바
- C++
- Today
- Total
탁월함은 어떻게 나오는가?
[Spring] SpringFramwork(스프링프레임워크)에 대해서 본문
Sprong Framework의 간략한 역사
스프링이 인기 있는 프레임워크가 된 이유를 이야기하자면 어쩔 수 없이 프레임워크라는 존재에 대해서 이야기를 해야만 합니다. 프레임워크는 말 그대로 '뼈대나 근간을 이루는 코드들의 묶음' 이라고 할 수 있습니다. 중요한 점은 이 뼈대가 왜 필요한지에 대한 이야기입니다.
개발자는 각 개개인의 능력 차이가 큰 직종이고, 따라서 개발자 구성에 따라 프로젝트의 결과 역시 큰 차이를 낳습니다. 프레임워크는 바로 이런 상황을 극복하기 위한 코드의 결과물입니다. 프레임워크를 이용한다는 의미는 프로그램의 기본 흐름이나 구조를 정하고, 모든 팀원이 이 구조에 자신의 코드를 추가하는방식으로 개발하게 됩니다.(자바의 interface 와 유사하다는 생각이 듭니다)
프레임워크 최대의 장점은 개발에 필요한 구조를 이미 코드로 만들어 놓았기 때문에, 실력이 부족한 개발자라 하더라도 반쯤 완성된 상태에서 필요한 부분을 조립하는 형태의 개발이 가능하다는 점입니다. 회사의 입장에서는 프레임워크를 사용하면 일정한 품질이 보장되는 결과물을 얻을 수 있고, 개발자의 입장에서는 완성된 구조에 자신이 맡은 코드를 넣어주는 형태이므로 개발 시간을 단축할 수 있습니다.
2000녀내 초반부터 시작된 엔터프라이즈급의 개발은 안정도니 품질의 개발이 절실했고, 그 결과 많은 프레임워크의 전성시대라고 할 수 있었습니다. 스프링은 비교적 그 시작이 조금 늦은 프로젝트였지만, 가장 성공적인 '경량(light-weight)프레임워크'입니다.
그렇기 때문에 스프링은 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 엔터프라이즈급 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션입니다.
엔터프라이즈급 개발이란 뜻대로만 풀이하면 기업을 대상으로 하는 개발이라는 말입니다. 즉, 대규모 데이터 처리와 트랜젝션이 동시에 여러 사용자로 부터 행해지는 매우 큰 규모의 환경을 엔터프라이즈 환경이라 일컫습니다.
Soing Franework는 경량 컨테이너로 자바 객체를 담고 직접 관리합니다. 객체의 생성 및 소멸 그리고 라이프 사이클을 관리하며 언제든 Spring 컨테이너로 부터 필요한 객체를 가져와 사용할 수 있습니다.
경량 프레임워크(light-weight Framework)란?
경량 프레임워크라는 용어는 90년대 말에 복잡한 구동 환경과 하드웨어적인 구성이 필요한 프레임워크의 반대되는 개념으로 등장했습니다. 과거 J2EE 기술은 너무나 복잡하고 방대했기 때문에, 그 전체를 이해하고 개발하기에는 어려운 점이 많아서, 특정 기능을 위주로 간단한 jar 파일 등을 이용해서 모든 개발이 가능하도록 구성된 프레임워크입니다.
'[Snow-ball]server > 스프링(Spring)' 카테고리의 다른 글
MVC 패턴 (모델-뷰-컨트롤러/Model-View-controller) (0) | 2021.07.07 |
---|---|
Service interface와 serviceImpl을 만드는 이유 (0) | 2021.03.25 |
이클립스로 스프링뷰트를 하면서 메이븐 다운로드 받는방법 (0) | 2021.03.10 |
리눅스(linux)에서 Vue(뷰) 환경설정 구축하는방법 (0) | 2021.02.19 |
인텔리제이(IntelliJ)에서 스프링(Spring) 환경설정 (0) | 2021.02.05 |