>Java >java지도 시간 >Spring 코어 프레임워크 아키텍처

Spring 코어 프레임워크 아키텍처

巴扎黑
巴扎黑원래의
2017-04-30 10:13:581652검색

많은 사람들이 Java 프로젝트를 개발하기 위해 Spring을 사용하고 있지만 Maven 종속성을 구성할 때 어떤 Spring Jar를 구성해야 할지 명확하지 않습니다. 종종 무작위로 여러 개를 추가한 다음 컴파일 또는 실행 오류가 보고될 때 Jar 종속성을 계속 구성합니다. , 스프링 종속성이 혼동되거나 심지어 다운로드까지 발생합니다. 한 번에 동일한 유형의 프로젝트를 생성할 때 어떤 스프링 종속성을 구성해야 할지 모르기 때문에 실제로 처음에는 그렇게 했습니다. !

Spring에는 약 20개의 jar 패키지가 있으며 각각은 해당 기능을 가지고 있습니다. 하나의 jar은 여러 다른 jar에 의존할 수도 있습니다. 따라서 이들 간의 관계를 파악하고 Maven 종속성을 구성하는 것은 간결하고 명확할 수 있습니다. 일반 Java 프로젝트에서 Spring 프레임워크를 사용하려면 어떤 jar가 필요합니까? 하나만

아아아

웹 프로젝트에 spring mvc를 도입하는 것은 어떻습니까? 종속성

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>3.2.17.RELEASE</version>
</dependency>

만 구성하면 됩니다. 왜 이렇게 구성할 수 있나요? 다음으로 Spring 3.2.17.RELEASE 버전을 예로 들어 Spring 프레임워크 구조를 소개하겠습니다. Spring 4는 약간 다르며 마지막에 소개하겠습니다

Spring 공식 웹사이트는 Spring 3의 구조 다이어그램을 제공합니다

그림은 Spring을 코어, AOP, 데이터 액세스, 웹 및 테스트의 5개 부분으로 나눕니다. 그림의 둥근 사각형은 각각 하나의 jar에 해당합니다. Maven에서 구성된 경우 이러한 모든 jar의 "groupId"는 "org" .springframework입니다. ", 각 jar에는 서로 다른 "artifactId"가 있고, "instrumentation"에는 2개의 jar가 있으며, "spring-context-support"는 그림에 나열되지 않으므로 spring3에는 총 19개의 jar 패키지가 있습니다.

다음은 이 다섯 부분의 jar 및 종속성을 소개합니다

코어

핵심 부품에는 4개의 모듈이 포함되어 있습니다

  1. spring-core: 종속성 주입 IoC 및 DI의 가장 기본적인 구현


  2. spring-beans: 콩 공장 및 콩 조립


  3. spring-context: spring의 컨텍스트 컨텍스트는 IoC 컨테이너


  4. 입니다. spring-expression: spring 표현 언어

완전한 종속성

spring-core는 commons-logging에 의존하고 다른 모듈은 spring-core에 의존하기 때문에 전체 spring 프레임워크는 commons-logging에 의존합니다. log4j와 같은 자체 로그 구현이 있는 경우 commons-logging에 대한 의존성을 제거할 수 있습니다. No Log 구현은 commons-logging 종속성, 컴파일 오류

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>3.2.17.RELEASE</version>
</dependency>

를 제외합니다. 앗

Aop 부분에는 4개의 모듈이 포함되어 있습니다

  1. spring-aop: 측면 지향 프로그래밍


  2. 스프링 측면: 통합 AspectJ


  3. spring-instrument:


  4. 서버에 대한 일부 클래스 수준 도구 지원 및 ClassLoader 수준 구현을 제공합니다. spring-instrument-tomcat: tomcat용 계측기 구현

종속성

데이터 액세스

데이터 액세스 부분에는 5개의 모듈이 포함되어 있습니다.

  1. spring-jdbc: jdbc 지원


  2. spring-tx: 트랜잭션 제어


  3. spring-orm: 객체 관계형 매핑, 통합 Orm 프레임워크


  4. spring-oxm: 객체 XML 매핑


  5. spring-jms: 자바 메시지 서비스

종속성

웹 파트에는 4개의 모듈이 포함되어 있습니다.

  1. spring-web: 파일 업로드 등 웹 기본 기능


  2. spring-webmvc: mvc 구현


  3. spring-webmvc-portlet: 포틀릿 기반 MVC 구현


  4. spring-struts: Struts와의 통합은 권장되지 않습니다. spring4는 더 이상

을 제공하지 않습니다. 종속성

테스트

테스트 부분에는 모듈이 하나만 있습니다. 여기에도 spring-context-support를 넣어보겠습니다.

  1. spring-test: 스프링 테스트, junit 및 모의 테스트 기능 제공


  2. spring-context-support: 이메일 서비스, 뷰 분석 등의 spring 추가 지원 패키지

종속성

이상으로 Spring 3 소개가 끝났습니다. 이 사진을 보시면 Maven에서 Spring 종속성을 구성할 때 더 이상 혼동하지 않으실 것이라 믿습니다

다음은 spring3과 기본적으로 동일한 구조인 spring4를 소개한다. 다음은 공식 홈페이지

에서 제공하는 구조도이다.

보시다시피, spring3의 strut가 그림에서 제거되고, message와 websocket이 추가되었으며, 다른 모듈은 변경되지 않은 상태입니다. 따라서 spring4의 jar는 20개입니다.

  1. spring-websocket: 웹 애플리케이션을 위한 효율적인 통신 도구


  2. spring-messaging: 메시징 기반 애플리케이션 구축용

종속성

위 내용은 Spring 코어 프레임워크 아키텍처의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.