흔히 말하는 스프링 = 스프링 프레임워크
스프링 프레임워크의 특징은 다음와 같다.
의존 주입(Dependency Injection: DI)
지원AOP(Aspect-Oriented Programming)
지원MVC 웹 프레임워크
제공JDBC
, JPA 연동
, 선언적 트랜잭션 처리
등 DB 연동지원spring과 spring MVC는
다르다
스프링 프레임워크의 주요 용어는 다음과 같다.
의존 주입
: 객체를 직접 생성하는 것이 아닌 외부에서 객체를 주입
시켜 사용하는 방식AOP
: 핵심 기능과 공통 기능을 분리
시켜놓고, 공통 기능을 필요로 하는 핵심 기능들에서 사용하는 방식JDBC
: 자바에서 데이터베이스
에 접속할 수 있도록 하는 자바 API
JPA
: JPA란 자바 ORM
기술에 대한 API 표준 명세ORM
: 객체와 DB 테이블
이 매핑을 이루는 것선언적 트랜잭션
: 설정 파일
이나 어노테이션
을 통해 트랜잭션의 범위, 롤백 규칙 등을 정의스프링 프레임워크외 다른 스프링 프로젝트는 아래와 같다.
스프링 데이터
: 적은 양의 코드로 데이터 연동을 처리할 수 있도록 도와주는 프레임워크. JPA, 몽고DB, 레디스등 다양한 저장소 지원스프링 시큐리티
: 인증/인가와 관련된 프레임워크로서 웹 접근 제어, 객체 접근 제어, DB, 오픈 ID, LDAP 등 다양한 인증 방식, 암호화 기능 제공스프링 배치
: 로깅/추적, 작업 통계, 실패 처리 등 배치 처리에 필요한 기본 기능을 제공