[Spring] 스프링이란?

첫걸음 - 1

Posted by owin2828 on 2019-12-26 16:28 · 1 min read

스프링이란?


흔히 말하는 스프링 = 스프링 프레임워크

스프링 프레임워크의 특징은 다음와 같다.

  • 의존 주입(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 등 다양한 인증 방식, 암호화 기능 제공
  • 스프링 배치: 로깅/추적, 작업 통계, 실패 처리 등 배치 처리에 필요한 기본 기능을 제공

개발환경


  • Spring: 5.0.2.RELEASE
  • Java openjdk 1.8.0_22
  • Apache maven 3.7
  • Tomcat 8.5.43