일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- window
- 책 정리
- AWS
- sample
- Spring Legacy Project
- vagrant
- Client
- Linux
- jdbc
- 코딩테스트
- TypeScript
- EC2
- Hibernate
- spring
- Jenkins
- ssh
- SSL
- 토비의스프링
- db
- DISTINCT
- TLS
- Git
- mariadb
- centos7
- WebHook
- Java
- docker
- spring boot
- 프로그래머스
- github
- Today
- Total
Woopii Vyeolog
Spring의 정의 본문
스프링이란?
자바 엔터프라이즈 어플리케이션 개발에 사용되는 JAVA 기반의 프레임워크로서
여러 모듈로 구성되어 있는데, 이중 웹 어플리케이션을 만들고자 등장한게 SpringMVC 모듈이다 (SpringFramework는 웹 프레임워크가 아니다. )
스프링이 제공하는 세가지 핵심 프로그래밍 모델
1. IoC / DI
오브젝트의 생명주기와 의존관계에 대한 프로그래밍 모델.
객체지향 설계 원칙과 디자인 패턴의 핵심 원리를 담고 있으며 프레임 워크의 근간으로 삼고 있다.
스프링이 직접 제공하는 모든 기술과 API, 심지어 컨테이너도 IoC/DI 방식으로 작성되어 있다.
2. 서비스 추상화
이식성이 뛰어나다.(서버, 특정 기술에 종속 되지 않는다.)
3. AOP
애플리케이션 코드에 산재해서 나타나는 부가적인 기능을 독립적으로 모듈화 하는 프로그래밍 모델이다.
스프링을 통해 얻게 되는 두가지 중요한 특징
1. 단순함 (simplicity)
스프링은 EJB라는 강한 권위를 가졌던 표준 기술을 비판하면서 등장했다.
EJB가 복잡한 반면 스프링은 단순하고 명쾌한 접근 방법을 가지고 있다.
자바의 본질인 객체지향 언어라는 특징을 다시 살릴 수 있도록 도와 주는 도구.
그래서 스프링이 강력히 주장하는 것은 단순한 객체지향적인 개발 모델인 POJO 프로그래밍이다.
2. 유연성 (flexibility)
유연성, 확장성이 매우 뛰어 나다.
스프링의 기능 대부분은 핵심 기능을 확장해서 발전시킨 결과물이다.
스프링은 9년간 단 한번도 코드 베이스를 흔들거나 새로 만드는 일 없이 발전해왔다.
스프링을 제대로 사용하려면 스프링을 필요에 맞게 확장하여 사용할 줄 알아야 한다.
출처 & 참고
https://goddaehee.tistory.com/1?category=173020 [갓대희의 작은공간]
'Spring Framework' 카테고리의 다른 글
Servlet Container란? (0) | 2020.03.17 |
---|---|
Spring 컨테이너란?(DI Container, IoC Container) (0) | 2020.03.17 |
Spring Legacy Project 생성,시작하기(MVC모델) (0) | 2020.03.17 |
간단한 성적 처리 웹 페이지 생성하기3 (Service 구현) (0) | 2020.03.16 |
스프링 프로젝트 WAR파일로 배포하기 (0) | 2020.03.16 |