스프링 아키텍처 프레임워크 소개

게시 됨: 2021-02-23

Spring Framework는 Java 기반 애플리케이션 개발을 위한 광범위한 인프라 사례를 제공하는 Java 엔터프라이즈 릴리스의 Java 플랫폼입니다. Spring의 인프라 기술을 사용하여 개발자는 평범한 오래된 Java 객체 에서 애플리케이션을 쉽게 빌드할 수 있습니다 . 이 기술은 전체 및 부분 Java EE(Enterprise Edition) 기술이 포함된 Java SE 프로그래밍 표준에 적용됩니다.

다음은 Java 애플리케이션 개발자로서 Spring 플랫폼을 어떻게 사용할 수 있는지에 대한 이점입니다.

  1. Java 함수를 생성하고 별도의 트랜잭션 API를 사용하지 않고 데이터베이스 트랜잭션과 함께 실행합니다.
  2. 별도의 원격 API를 사용하지 않고 원격 로직으로 로컬 자바 함수를 생성합니다.
  3. JMX API를 사용하지 않고 논리를 제공하기 위한 로컬 Java 기능을 작성하십시오.
  4. 별도의 JMS API를 사용하지 않고 메시지 핸들러 요청에 대해 별도의 로컬 Java 기능을 생성합니다.

목차

스프링 모듈 핵심 개념

Inversion of Control : IOC는 표준 프로그래밍 기술인 OOPS의 개념을 가지고 있으며 필드 및 메서드 패턴으로 데이터와 코드를 수용하는 "객체"를 기반으로 합니다. 개체는 특정 상호 작용을 위한 내장 인터페이스를 사용하여 다른 개체 구현에 의존하지 않고 독립적으로 작동합니다. 다양한 디자인 패턴을 제공합니다.

예: Factory, Abstract Factory, Builder, Decorator는 광범위한 Java 응용 프로그램을 만들기 위한 수많은 클래스와 개체 인스턴스를 만들고 개발합니다.

Spring Framework IoC(Inversion of Control)는 애플리케이션에서 쉽게 사용할 수 있는 1급 객체로 디자인 패턴을 사용하는 모범 사례를 제공합니다. 많은 조직에서 강력하고 확장 가능한 애플리케이션을 만들기 위해 Spring Framework를 사용합니다.

의존성 주입: 구조적 디자인 패턴입니다. 여기서 우리는 객체를 생성하는 동안 인터페이스에 의해 다른 객체와 함께 사용할 수 있는 독립 객체의 개념을 가지고 있습니다. 종속성은 서비스를 통해 할당됩니다. DI(Dependency Injection)는 프로그래밍 코드에서 종속성을 분리하는 디자인 패턴으로 애플리케이션에서 쉽게 사용하고 테스트할 수 있습니다. 소스 코드에서 느슨하게 결합된 접근 방식으로 수행됩니다.

Aspect 지향 프로그래밍: 애플리케이션에서 다중 교차 기능을 발견할 수 있게 해주는 프로그래밍 표준입니다. 기능이 내장되어 있습니다. 이러한 기능을 사용하여 응용 프로그램의 빠른 비즈니스 코드 논리에서 분리된 교차 접근 방식이라고 하는 다양한 응용 프로그램 노드에서 재사용할 수 있습니다. AOP는 개체에서 교차 문제를 분류할 수 있는 이점이 있습니다.

스프링 아키텍처 프레임워크

스프링 프레임워크는 여러 계층 아키텍처로 배포되며, 이는 별도의 모듈로 나뉩니다. 핵심 컨테이너의 맨 위에 이러한 모듈을 설정합니다. 이러한 모듈을 사용하여 개발자는 여러 설계 기술을 사용하여 응용 프로그램을 쉽게 개발할 수 있습니다.

다른 프레임워크와 어려움 없이 통합할 수 있는 모듈식 아키텍처를 가지고 있습니다. 아래 이미지는 Spring Framework 아키텍처의 필수 모듈을 나타냅니다.

영상

영상

스프링 모듈 코어 프레임워크

Spring Framework의 Core 컨테이너 모듈은 다음 네 가지 모듈로 나뉩니다.

    • 이러한 구성 요소를 정의할 수 있는 컨텍스트, SpEL, Core, Description, Bean 은 다음과 같습니다.
    • SpEL 모듈은 객체를 수행하는 동안 객체를 관리하기 위한 강력한 표현 언어를 구현합니다.
    • Context 는 Core와 Beans를 기반으로 개발되었습니다. 설정 내에서 설정된 개체를 가져올 수 있습니다. Context 모듈의 핵심 요소는 ApplicationContext 인터페이스입니다. Core 모듈은 DI 및 IoC 기능을 포함하는 프레임워크의 핵심 요소를 구현합니다.
    • Bean 모듈은 애플리케이션 연결 구조 단위인 Spring Beans 모듈을 생성 및 유지 관리 하는 역할을 합니다.
  • ORM: 예를 들어 최대 절전 모드, ibatis sql 맵, oracle toplink, JPA와 같은 필수 개체 관계형 매핑 도구를 결합합니다.
  • J ee 모듈: 이 구성 요소는 jmx, jca, ejb 및 jms와 JCA(Java Connector Architecture)를 제공합니다.

읽기: 봄학기 면접 질문 및 답변

스프링 프레임워크 웹

Spring 프레임워크 Web은 Web, MVC 웹 기반 애플리케이션, Web-Socket, Web-Portlet으로 구분된다.

웹 모듈은 다음 기능을 구현합니다.

예: 파일 다운로드 및 업로드, 웹 기반 애플리케이션 개발, 나머지 또는 웹 API.

Web-MVC에는 웹 기반 애플리케이션을 구현하는 Spring 기반 MVC 메커니즘이 포함되어 있습니다.

Web-Socket 은 웹 기반 응용 프로그램에서 Web-Socket의 도움으로 클라이언트 및 서버와의 상호 작용 연결을 지원합니다.

Web-Portlet 은 포틀릿 서버 환경을 사용하여 MVC .net 기반 구현을 실행합니다.

스프링 프레임워크 데이터 접근

데이터 액세스 및 통합 컨테이너 는 JDBC(자바 기반 연결), ORM(객체 관계형 매핑), OXM( 객체 XML 매퍼) , JMS(자바 메시지 서비스) 및 트랜잭션 모듈로 나뉩니다.

JDBC 는 JDBC 의 추상 레이어를 구현하고 데이터베이스 연결과 관련된 균일한 코드에 대한 수동 등록을 극복합니다.

Spring ORM 은 Hibernate, JDO(Java Data Objects)를 사용하여 ORM의 통합을 제공합니다.

OXM(Spring Object XML Mappers) 모듈 은 Object와 XML XMLBeans를 연결하는 역할을 합니다.

JMS(Java Messaging Service) 모듈 메시지를 생성, 전송 및 수신할 수 있습니다.

기타 모듈

Spring은 다양한 관련 모듈을 통합합니다.

예: AOP( Aspect oriented programming) , 계측, 메시징 및 테스트.

AOP(Aspect-Oriented Programming) 는 소위 관심사로 설명되는 여러 섹션 내에서 프로그램 논리를 분해하는 것을 포함합니다.

Aspects 모듈 은 강력한 AOP(Aspect-oriented programming) 프레임워크인 AspectJ의 조합을 구현합니다.

Instrumentation 은 서버 기반 애플리케이션에서 사용하고 연습할 수 있는 클래스 로더와 클래스 계측을 효과적으로 유지 관리합니다.

테스트 모듈 은 TestNG 및 JUnit 프레임워크 모듈을 사용하여 테스트 기술을 구현합니다.

Spring 5 프레임워크 기능

Spring 5 프레임워크는 다음과 같은 광범위한 필수 기능을 제공합니다.

  • 여기에 Java 8 및 Java 9, Java EE 7 및 Java EE 8, Servlet 4.0, JPA 2.2, Bean Validation 2.0의 여러 버전이 있습니다.
  • 고유한 모듈이 있는 고급 로깅 ​​메커니즘(예: spring 및 JCL(Java 클래스 라이브러리)).
  • 파일 트랜잭션의 경우 성능 향상에 도움이 되는 NIO 2 스트림 기능이 있습니다.
  • Spring MVC 컨트롤러 메소드는 Reactor 3.1 Flux 및 Mono, RxJava 기능을 제공합니다.
  • JSON Binding API의 경우 Kotlin, Project Lombok 기술을 제공합니다.
  • Spring Reactive 지원을 받기 위해 Spring WebFlux 기술을 제공합니다.

세계 최고의 대학에서 온라인으로 소프트웨어 과정을 배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

결론

이 기사가 Spring Framework 개념과 아키텍처를 이해하는 데 도움이 되었기를 바랍니다. upGrad 는 포괄적인 범위의 Java Spring Framework 과정, Java 프로그래밍, 데이터 과학, 기계 학습 등을 제공합니다. 업계 최고의 개인으로부터 멘토링도 제공됩니다! 더 자세히 알아보고 업계 전문가의 멘토링이 필요한 경우 upGrad & IIIT Banglore의 Executive PG Program Full-Stack Software Development 를 확인하십시오.

Java에서 스프링 프레임워크는 어떻게 작동합니까?

Spring 또는 Spring Framework는 Java 및 웹 애플리케이션의 설계를 단순화하기 위한 개발 도구를 제공하는 오픈 소스 애플리케이션 프레임워크입니다. Spring은 또한 엔터프라이즈 애플리케이션을 개발하기 위한 프레임워크를 제공합니다. 측면 지향 프로그래밍 및 AOP를 지원합니다. IoC(Inversion of Control) 원리를 기반으로 합니다. IoC는 처리 요청을 처리하는 데 있어 완전한 자유를 허용합니다. Spring은 테스트를 위한 간단한 환경을 제공합니다. 또한 웹 애플리케이션 개발을 위한 프로그래밍 모델을 제공합니다. Spring에는 트랜잭션 관리 시스템이 포함되어 있습니다. 또한 구성 요소 구성을 수행하는 새로운 방법을 제공합니다.

스프링 MVC란?

Spring MVC는 HTTP 요청을 웹 서비스로 변환하는 데 사용되는 프레임워크입니다. 웹 애플리케이션을 구축하거나 웹 서비스를 생성하는 데 사용할 수 있습니다. 매우 간단한 XML 파일을 사용하여 구성됩니다. 프레임워크는 비즈니스 로직을 웹 서비스와 프리젠테이션에서 분리합니다. Spring MVC는 Spring 프레임워크의 일부인 웹 프레임워크입니다. Java 클래스 모델을 사용하여 웹 애플리케이션을 개발할 수 있는 기능을 제공합니다. Spring MVC는 웹 애플리케이션을 위한 Model-View-Controller 프레임워크입니다.

Java 스프링에서 최대 절전 모드는 무엇입니까?

Spring Hibernate는 객체 관계형 매핑(ORM)을 사용하는 J2EE 애플리케이션을 작성하기 위한 프레임워크입니다. 간단히 말해서 Java 애플리케이션에서 관계형 데이터를 관리하는 데 도움이 됩니다. 이것은 객체 지향 도메인 모델을 전통적인 관계형 데이터베이스에 매핑할 수 있게 해주는 ORM 라이브러리인 Hibernate 위에 구축되었습니다. Hibernate는 지속성을 처리하고 Spring은 엔터프라이즈 Java 애플리케이션을 구현하는 데 필요한 트랜잭션, 보안, AOP, 원격 및 기타 서비스를 처리합니다.