Spring Framework-아키텍처

Spring은 잠재적으로 모든 엔터프라이즈 애플리케이션을위한 원 스톱 상점이 될 수 있습니다. 그러나 Spring은 모듈 식이므로 나머지 모듈을 가져 오지 않고도 자신에게 적용 할 수있는 모듈을 선택할 수 있습니다. 다음 섹션에서는 Spring Framework에서 사용할 수있는 모든 모듈에 대한 세부 정보를 제공합니다.

Spring Framework는 애플리케이션 요구 사항에 따라 사용할 수있는 약 20 개의 모듈을 제공합니다.

핵심 컨테이너

Core Container는 Core, Beans, Context 및 Expression Language 모듈로 구성되며 세부 사항은 다음과 같습니다.

  • 그만큼 Core 모듈은 IoC 및 종속성 주입 기능을 포함하여 프레임 워크의 기본 부분을 제공합니다.

  • 그만큼 Bean 모듈은 팩토리 패턴의 정교한 구현 인 BeanFactory를 제공합니다.

  • 그만큼 Context모듈은 Core 및 Beans 모듈에서 제공하는 견고한 기반을 기반으로하며 정의되고 구성된 모든 개체에 액세스하는 매체입니다. ApplicationContext 인터페이스는 Context 모듈의 초점입니다.

  • 그만큼 SpEL 모듈은 런타임에 개체 그래프를 쿼리하고 조작하기위한 강력한 표현 언어를 제공합니다.

데이터 액세스 / 통합

데이터 액세스 / 통합 계층은 JDBC, ORM, OXM, JMS 및 트랜잭션 모듈로 구성되며 세부 정보는 다음과 같습니다.

  • 그만큼 JDBC 모듈은 지루한 JDBC 관련 코딩의 필요성을 제거하는 JDBC 추상화 계층을 제공합니다.

  • 그만큼 ORM 모듈은 JPA, JDO, Hibernate 및 iBatis를 포함한 인기있는 객체 관계형 매핑 API를위한 통합 계층을 제공합니다.

  • 그만큼 OXM 모듈은 JAXB, Castor, XMLBeans, JiBX 및 XStream에 대한 객체 / XML 매핑 구현을 지원하는 추상화 계층을 제공합니다.

  • 자바 메시징 서비스 JMS 모듈에는 메시지 생성 및 소비 기능이 포함되어 있습니다.

  • 그만큼 Transaction 모듈은 특수 인터페이스를 구현하는 클래스와 모든 POJO에 대해 프로그래밍 및 선언적 트랜잭션 관리를 지원합니다.

편물

웹 계층은 Web, Web-MVC, Web-Socket 및 Web-Portlet 모듈로 구성되며 세부 사항은 다음과 같습니다.

  • 그만큼 Web 모듈은 멀티 파트 파일 업로드 기능, 서블릿 리스너 및 웹 지향 애플리케이션 컨텍스트를 사용하는 IoC 컨테이너 초기화와 같은 기본적인 웹 지향 통합 기능을 제공합니다.

  • 그만큼 Web-MVC 모듈에는 웹 애플리케이션을위한 Spring의 MVC (Model-View-Controller) 구현이 포함되어 있습니다.

  • 그만큼 Web-Socket 모듈은 웹 애플리케이션에서 클라이언트와 서버 간의 WebSocket 기반 양방향 통신을 지원합니다.

  • 그만큼 Web-Portlet 모듈은 포틀릿 환경에서 사용할 MVC 구현을 제공하며 웹 서블릿 모듈의 기능을 미러링합니다.

여러 가지 잡다한

AOP, Aspects, Instrumentation, Web 및 Test 모듈과 같은 다른 중요한 모듈은 다음과 같습니다.

  • 그만큼 AOP 모듈은 분리되어야하는 기능을 구현하는 코드를 명확하게 분리하기 위해 메소드 인터셉터와 포인트 컷을 정의 할 수있는 aspect 지향 프로그래밍 구현을 제공합니다.

  • 그만큼 Aspects 모듈은 강력하고 성숙한 AOP 프레임 워크 인 AspectJ와의 통합을 제공합니다.

  • 그만큼 Instrumentation 모듈은 특정 애플리케이션 서버에서 사용할 클래스 계측 지원 및 클래스 로더 구현을 제공합니다.

  • 그만큼 Messaging모듈은 애플리케이션에서 사용할 WebSocket 하위 프로토콜로 STOMP를 지원합니다. 또한 WebSocket 클라이언트에서 STOMP 메시지를 라우팅하고 처리하기위한 주석 프로그래밍 모델을 지원합니다.

  • 그만큼 Test 모듈은 JUnit 또는 TestNG 프레임 워크로 Spring 컴포넌트의 테스트를 지원합니다.