티스토리 뷰
Framework : 다양한 어플리케이션을 제작하기 위해 약속된 프로그래밍 틀
- 어떠한 목적을 달성하기 위해 복잡하게 얽혀 있는 문제를 해결하기 위한 구조이자 약속
- 클래스 + 라이브러리
- 재사용성을 큰 그룹 단위로 묶어줌
- 재사용 가능한 수많은 클래스들과 라이브러리들을 융합한 채로 처음부터 제공
#모듈화를 하는 이유중 하나가 재사용성
특징
POJO (Plain Old Java Object)
- 기존 라이브러리를 지원하기 용이
- 일반적인 자바 코드를 이용하여 개발 가능
- 객체가 가벼움
- 별도의 프레임워크 없이 JAVA EE를 사용할 떄에 비해 인터페이스를 직접 구현하거나 상속받을 필요가 없음
AOP (Aspect Object Programming : 관점 지향 프로그래밍)
- 여러 모듈에서 공통적으로 사용하는 기능을 분리하여 관리
- 스프링에서 지원하는 실행에 조합하는 방식도 지원
- 반복적인 코드를 줄이고, 개발자가 비즈니스 로직에만 집중할 수 있도록 지원
- WAS(Web Application Server)에 종속적이지 않은 개발 환경
DI (Dependency Injection : 의존성 주입)
- 객체 간의 의존성을 개발자가 설정하는게 아닌, 스프링 컨테이너가 주입시켜 주는 기능
- 코드 재사용을 높여 소스코드를 다양한 곳에 사용 가능
- 객체를 쉽게 확장하고 재사용 가능
- 모듈간의 결합도를 낮출 수 있음
IoC (Inversion of Control : 제어 반전)
- 외부 라이브러리 코드가 개발자의 코드를 호출
- 제어권이 프레임워크에게 있어 필요에 따라 스프링 프레임워크가 사용자의 코드를 호출함
- 객체의 제어권을 스프링에게 넘김
생명 주기
- JAVA 객체의 생성, 소멸 직접 관리
- 필요한 객체만 사용
다양한 서비스
- 데이터베이스 처리 라이브러리나 유용한 인터페이스 제공
'BACK-END > SPRING' 카테고리의 다른 글
[SPRING] MVC 게시판 (0) | 2019.09.25 |
---|---|
[SPRING] MYBATIS MYSQL 연동 (0) | 2019.09.25 |
[SPRING] IoC - SPRING CONTAINER (0) | 2019.09.25 |
[SPRING] AOP - 관점 지향 프로그래밍 (0) | 2018.05.17 |
[SPRING] BASIC THINGS (0) | 2018.05.08 |