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 컴포넌트의 테스트를 지원합니다.