Spring 02 - What is SPRING??
in Web-Programming on Spring
그래서 스프링이란?
Spring is…
- Java의 웹 프레임워크(Framework)
- Java로 다양한 어플리케이션을 만들기 위한 프로그래밍 틀
So, Framework is…
- 개발을 도와주는 도구들을 제공해 주고, 개발 흐름을 잡아주는 틀이 정해져 있는 개발 환경
- 라이브러리가 개발 도구 모음을 제공해 준다면, 프레임워크는 거기에 더해 개발 흐름을 잡아주는 역할
스프링 특징
IoC(Inversion of Control)
- 제어 역전
- 개발시 직집 객체를 생성하고 호출하는 것이 아닌, 스프링 컨테이너에서 알아서 해주는 것
- 즉 스프링이 알아서 객체를 생성하고 관리해준다.
DI(Dependency Injection)
- 의존성 주입
- 개발 요소의 의존 관계가 소스코드 내부가 아닌, 외부의 설정 파일(DI Config)을 통해 정의되는 방식
- 즉 설정 파일에 따라 코드를 교체할 수 있다.
AOP(Aspect Object Programming)
- 관점 지향 프로그래밍
- 개발 요소의 기능들 중, 로깅, 트랜잭션, 보안 등 관점을 중심으로 공통적으로 사용하는 기능을 분리하여 관리.
- 중복을 배제하여 재사용성을 높여주는 기능
POJO(Plan Old Java Object)
- 순수 오래된 자바 객체
- 원시 그 자체
- 상속과 구현없이 오로지 속성과 get/set 기능만 있는 객체
스프링 부트
스프링 프레임워크로 개발하는 건 좋다 이거야… 그러나 이 스프링 프레임워크를 설정하는 건 개발보다 더 어려울 것이다. 그래서 태어난 게 바로 스프링 부트이다.
- XML 기반의 복잡한 설계 방식을 사용 X
- 의존 라이브러리를 자동으로 관리
- 애플리케이션 설정을 자동으로 구성
- 프로덕션(Production) 애플리케이션을 쉽게 빌드
- 내장된 WAS를 통해 보다 쉽게 배포 가능
Next
그래서 다음은..
스프링 구조 컨테이너 And, @bean…