스프링 아키텍처 프레임워크 소개
게시 됨: 2021-02-23Spring Framework는 Java 기반 애플리케이션 개발을 위한 광범위한 인프라 사례를 제공하는 Java 엔터프라이즈 릴리스의 Java 플랫폼입니다. Spring의 인프라 기술을 사용하여 개발자는 평범한 오래된 Java 객체 에서 애플리케이션을 쉽게 빌드할 수 있습니다 . 이 기술은 전체 및 부분 Java EE(Enterprise Edition) 기술이 포함된 Java SE 프로그래밍 표준에 적용됩니다.
다음은 Java 애플리케이션 개발자로서 Spring 플랫폼을 어떻게 사용할 수 있는지에 대한 이점입니다.
- Java 함수를 생성하고 별도의 트랜잭션 API를 사용하지 않고 데이터베이스 트랜잭션과 함께 실행합니다.
- 별도의 원격 API를 사용하지 않고 원격 로직으로 로컬 자바 함수를 생성합니다.
- JMX API를 사용하지 않고 논리를 제공하기 위한 로컬 Java 기능을 작성하십시오.
- 별도의 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, 원격 및 기타 서비스를 처리합니다.