[스프링/Spring] Spring 기초 & 구성 모듈

dongbrown·2024년 6월 10일

Spring

목록 보기
1/23

1. Spring Framework란

  • 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크
  • 동적인 웹 사이트를 개발하기 위한 여러가지 서비스 제공
  • 우리나라 전자정부 프레임워크의 기반 기술로 쓰임

2. Spring Framework의 특징

  • DI(Dependency Injection) : 설정 파일(XML)이나 어노테이션을 통해 객체 간의 의존 관계를 설정하여 개발자가 직접 의존하는 객체를 생성할 필요 없음
  • Spring AOP(Aspect Oriented Programming) : 트랜잭션, 로깅, 보안 등 여러 모듈, 여러 계층에서 공통으로 필요로 하는 기능의 경우 해당 기능들을 분리하여 관리
  • POJO(Plain Old Java Object) : 객제 지향적인 원리에 충실하면서 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트
  • IoC(Inversion of Control) : 컨트롤의 제어권이 개발자가 아니라 프레임워크에 있다는 뜻으로 객체의 생성부터 모든 생명주기의 관리까지 프레임워크가 주도


3. Spring의 구성 모듈

(1) Data 접근 계층

  • JDBC나 데이터베이스에 연결하는 모듈로 Data 트랜잭션에 해당하는 기능을 담당하여 영속성 프레임워크의 연결 담당

(2) MVC 계층(MVC / Remoting)

  • Spring Framework에서 Servlet, Struts 등 웹 구현 기술과의 연결점을 Spring MVC 구성으로 지원하기 위해 제공되는 모듈 계층
  • 스프링의 리모팅 기술로 RMI, Hessian, Burlap, JAX-WS, Http 호출자 그리고 REST API 모듈 제공

(3) AOP 계층

  • Spring에서 각 흐름 간 공통된 코드를 한 쪽으로 빼내어 필요한 시점에 해당 코드를 첨부하게 하기 위해 지원하는 계층
  • 별도의 proxy를 두어 동작, 이를 통해 객체 간의 결합도를 낮출 수 있음

(4) Core Container

  • Spring의 핵심 부분이라고 할 수 있으며 모든 스프링 관련 모듈은 이 Core Container 기반으로 구축
  • Spring의 근간이 되는 IoC(또는 DI)기능을 지원하는 영역 담당
  • BeanFactory를 기반으로 Bean클래스들을 제어할 수 있는 기능 지원

✓ 모듈 정리

모듈 명내용
spring-beans스프링 컨테이너를 이용해서 객체를 생성하는 기본 기능 제공
spring-context객체 생성, 라이프 사이클 처리, 스키마 확장 등의 기능 제공
spring-aopAOP 기능 제공
spring-webREST클라이언트 데이터 변환 처리, 서블릿 필터, 파일 업로드 지원 등 웹 개발에 필요한 기반 기능 제공
spring-webmvc스프링 기반의 MVC 프레임워크, 웹 애플리케이션을 개발하는데 필요한 컨트롤러, 뷰 구현 제공
spring-websocket스프링 MVC에서 웹 소켓 연동을 처리할 수 있도록 제공
spring-oxmXML과 자바 객체 간의 매핑을 처리하기 위한 API 제공
spring-tx트랜잭션 처리를 위한 추상 레이어 제공
spring-jdbcJDBC프로그래밍을 보다 쉽게 할 수 있는 템플릿 제공
spring-ormHibernate, JPA, MyBatis 등과의 연동 지원
spring-jmsJMS서버와 메시지를 쉽게 주고 받을 수 있도록 하기 위한 템플릿
spring-context-support스케줄링, 메일발송, 캐시연동, 벨로시티 등 부가 기능 제공

0개의 댓글