※ 본 게시글은 '배워서 바로 쓰는 스프링 프레임워크' 책으로 공부한 내용을 정리한 글입니다 ※


1. 스프링 프레임워크란

: 자바 엔터프라이즈 애플리케이션 개발을 단순하게 해주는 오픈소스 애플리케이션 프레임워크이다.

  

 

Spring Framework

 

spring.io

▲스프링 프로젝트 홈페이지 : 참조문서와 API를 볼 수 있음

 

 

스프링의 특징

  • 구조가 잘 잡히고 유지 보수가 쉬우며 테스트에 좋음
  • 독립 실행 자바 애플리케이션/ 웹 애플리케이션/ 애플릿 등 다양한 유형의 자바 애플리케이션 개발 가능
  • POJO로 개발하는 것을 권장 (Plain Old Java Object 기존자바객체)
  • 추상화 계층 제공 (준비코드 처리) -> 상호작용 쉬워짐

 


 

2. 스프링 모듈

스프링은 담당하는 애플리케이션 개발 요소에 따라 여러 모듈로 구성된다.

모듈 그룹 설명
핵심 컨테이너 스프링 기반을 이루는 모듈
◆ spring-core / spring-beans : 스프링 DI 기능과 IoC 컨테이너 구현 지원
◆ spring-expression : SpEL(스프링 표현언어, 애플리케이션 객체설정) 지원
AOP와 계측 ◆ spring-aop : AOP 기능 지원(AOP : Aspect Oriented Programming 관점기반 프로그래밍)
◆ spring-intrument : 클래스 계측지원
메시징 ◆ spring-meassaging : 메시지 기반 애플리케이션 개발에 유용
데이터 접근/통합 DB나 메시징 공급자와의 상호작용을 쉽게해주는 모듈
◆ spring-jdbc : JDBC를 사용한 DB사용 단순화 지원

spring-orm : ORM(객체-관계 매핑) 프레임워크 통합 지원 (하이버네이트, JPA)
spring-jms : JMS 공급자와의 상호작용 지원
 spring-tx : 프로그램을 통한 선언적 트랜잭션 관리 지원
 spring-web : 모든 웹 모듈이 공통으로 사용하는 클래스, 인터페이스 정의
 spring-webmvc : servlet, RESTful 웹 개발을 쉽게 해줌 (블로킹방식들)
 spring-webflux : 반응형(논블로킹), RESTful 웹 개발을 쉽게 해줌 
 spring-websocket : 웹소켓 프로토콜 지원
테스트  spring-test : 단위/통합테스트 지원

스프링의 여러 모듈은 애플리케이션에 꼭 필요한 부분만 포함하도록 설계한다.

 

 

 

스프링 배포판 명명규약

spring-<짧은 모듈 이름>-<스프링 버전>.jar

(짧은 모듈 이름 : aop, beans, context, expressions)

 

 

 

스프링 모듈 간 상호 의존 관계

 

의존관계 : 객체가 다른 객체와 상호작용하는 경우

출처 taejin0527.github.io

 

 


 

3. 스프링 기반 프레임워크

프레임워크 설명
스프링 시큐리티 엔터프라이즈 애플리케이션을 위한 인증, 권한부여 프레임워크
- XML에 빈 몇개를 설정하는 것 만으로 인증, 권한의 특징 부여 가능
스프링 데이터 여러 유형의 DB를 일관성있는 프로그래밍 모델로 사용가능하게 해줌
스프링 배치 애플리케이션이 뭉텅이로 작업을 처리하는 경우
스프링 통합 EA (기업 애플리케이션 통합) 제공
스프링 소셜 SNS와 상호 작용해야 하는 경우

사용중인 스프링 버전과 호환되는 버전인지 확인 후 사용하기

 

 

 


스프링의 특징과 모듈, 프레임워크에 대해 공부하고 정리해보았다. 다음은 IoC 컨테이너에 대해 알아보자.

반응형

'Web > Spring' 카테고리의 다른 글

스프링 프레임워크 (2) - IoC 컨테이너, Bean  (0) 2022.04.28
Spring Boot -프로젝트 생성  (0) 2021.05.14
스프링 공부 시작!  (0) 2021.05.04

+ Recent posts