> Java > java지도 시간 > 스프링 프레임워크란?

스프링 프레임워크란?

(*-*)浩
풀어 주다: 2020-09-08 16:54:49
원래의
24178명이 탐색했습니다.

Spring은 Rod Johnson이 만들고 엔터프라이즈 애플리케이션 개발의 복잡성을 해결하기 위해 만들어진 오픈 소스 프레임워크입니다. Spring은 이전에 EJB에서만 가능했던 작업을 완료하기 위해 기본 JavaBeans를 사용할 수 있습니다.

스프링 프레임워크란?

이 기사에서는 Spring 프레임워크의 기능과 모듈을 간략하게 소개합니다. 구체적인 사용법은 권장 과정인 Java Tutorial을 참조하세요.

Spring은 Rod Johnson이 만든 오픈 소스 프레임워크입니다. 엔터프라이즈 애플리케이션 개발의 복잡성을 해결하기 위해 만들어졌습니다. Spring은 이전에 EJB를 통해서만 가능했던 작업을 수행하기 위해 기본 JavaBeans를 사용합니다. 그러나 Spring의 용도는 서버측 개발에만 국한되지 않습니다. 단순성, 테스트 용이성 및 느슨한 결합의 관점에서 볼 때 모든 Java 애플리케이션은 봄의 혜택을 누릴 수 있습니다.

Spring은 가벼운 IoC(Inversion of Control) 및 AOP(Aspect Oriented) 컨테이너 프레임워크입니다.

경량 - 스프링은 크기와 오버헤드 측면에서 모두 가볍습니다. 전체 Spring 프레임워크는 1MB가 조금 넘는 크기의 JAR 파일로 배포될 수 있습니다. 그리고 봄 필요한 처리 오버헤드도 무시할 수 있습니다. 게다가 Spring은 비침입적입니다. 일반적으로 Spring 애플리케이션의 객체는 특정 Spring 클래스에 의존하지 않습니다.

제어 반전 - Spring은 IoC(제어 반전)라는 기술을 통해 느슨한 결합을 촉진합니다. IoC가 적용되면 객체가 의존하는 다른 객체는 수동적으로 전달됩니다. 객체 자체를 생성하거나 종속 객체를 찾는 대신 이를 전달합니다. IoC는 JNDI의 반대라고 생각할 수 있습니다. 객체가 컨테이너에서 종속성을 찾는 대신 컨테이너는 객체가 요청할 때까지 기다리지 않고 초기화될 때 종속성을 객체에 적극적으로 전달합니다.

관점 지향 - Spring은 관점 지향 프로그래밍에 대한 풍부한 지원을 제공하므로 애플리케이션의 비즈니스 로직을 시스템 수준 서비스(예: 감사 및 트랜잭션 관리)와 분리하여 응집력 있는 개발이 가능합니다. 응용 프로그램 개체는 자신이 수행해야 하는 작업(완전한 비즈니스 논리)만 구현합니다. 그들은 로깅이나 트랜잭션 지원과 같은 다른 시스템 수준 문제에 대해 책임을 지지 않습니다(또는 인식하지도 않습니다).

컨테이너 - Spring은 애플리케이션 객체의 구성과 라이프사이클을 포함하고 관리하며, 구성 가능한 프로토타입(프로토타입)을 기반으로 각 Bean이 생성되는 방식을 구성할 수 있습니다. 필요할 때마다 별도의 인스턴스를 생성하거나 새 인스턴스를 생성하며 서로 어떻게 연관되어 있는지 살펴보겠습니다. 그러나 Spring을 크고, 번거롭고, 사용하기 어려운 기존의 중량급 EJB 컨테이너와 혼동해서는 안 됩니다.

프레임워크 - Spring은 간단한 구성요소를 복잡한 애플리케이션으로 구성하고 결합할 수 있습니다. Spring에서 애플리케이션 객체는 일반적으로 XML 파일로 선언적으로 구성됩니다.

Spring은 또한 다양한 기본 기능(트랜잭션 관리, 지속성 프레임워크 통합 등)을 제공하여 애플리케이션 로직 개발을 사용자에게 맡깁니다.

이러한 모든 Spring 기능을 사용하면 더 깔끔하고 관리하기 쉽고 테스트하기 쉬운 코드를 작성할 수 있습니다. 또한 Spring의 다양한 모듈에 대한 기본 지원을 제공합니다.


Spring 프레임워크는 잘 정의된 7개의 모듈로 구성됩니다.

스프링 프레임워크란?

전체적으로 보면 이러한 모듈은 엔터프라이즈 애플리케이션을 개발하는 데 필요한 모든 것을 제공합니다. 하지만 애플리케이션을 완전히 Spring 프레임워크에 기반할 필요는 없습니다. 자신에게 맞는 앱을 자유롭게 선택할 수 있습니다. 모듈을 선택하고 나머지는 무시합니다.

보시다시피 모든 Spring 모듈은 코어 컨테이너 위에 구축됩니다. 컨테이너는 빈이 생성, 구성 및 관리되는 방법을 정의합니다. 자세한 내용은 Spring에서 확인하세요.

애플리케이션을 구성할 때 이러한 클래스를 사용할 가능성이 있습니다. 그러나 개발자라면 컨테이너가 제공하는 서비스에 영향을 미치는 다른 모듈에 관심이 있을 가능성이 높습니다. 이 모듈은 AOP 및 지속성과 같은 애플리케이션 서비스 구축을 위한 프레임워크를 제공합니다.

Core 컨테이너

Spring 프레임워크의 가장 기본적인 부분으로 Bean의 컨테이너 관리를 구현하는 종속성 주입(DependencyInjection) 기능을 제공합니다. 여기서 가장 기본적인 개념은 모든 Spring 애플리케이션의 핵심인 BeanFactory입니다. BeanFactory는 IoC를 사용하여 실제 애플리케이션 코드에서 애플리케이션 구성 및 종속성 사양을 분리하는 팩토리 패턴의 구현입니다.

Application Context(컨텍스트) 모듈

코어 모듈의 BeanFactory는 Spring을 컨테이너로 만들고, 컨텍스트 모듈은 이를 프레임워크로 만듭니다. 이 모듈은 BeanFactory의 개념을 확장하고 국제적인 지원을 추가합니다. (I18N) 메시징, 이벤트 전파 및 확인 지원.

또한 이 모듈은 이메일, JNDI 액세스, EJB 통합, 원격 및 예약 서비스와 같은 다양한 엔터프라이즈 서비스를 제공합니다. 템플릿 상자도 포함되어 있습니다. Velocity 및 FreeMarker와 같은 프레임이 지원과 통합되었습니다.

Spring의 AOP 모듈

Spring은 AOP 모듈에서 측면 지향 프로그래밍에 대한 풍부한 지원을 제공합니다. 이 모듈은 Spring 애플리케이션에서 측면 프로그래밍을 구현하기 위한 기초입니다. 봄과 다른 것을 보장하기 위해 AOP 프레임워크 상호 운용성인 Spring의 AOP 지원은 AOP Alliance에서 정의한 API를 기반으로 합니다. AOP Alliance는 공통 인터페이스 및 구성 요소 집합을 정의하여 AOP 사용과 다양한 AOP 구현 간의 상호 운용성을 촉진하는 것을 목표로 하는 오픈 소스 프로젝트입니다. 해당 사이트를 방문하면 AOP Alliance에 대한 자세한 내용을 확인할 수 있습니다.

Spring의 AOP 모듈은 또한 Spring에 메타데이터 프로그래밍을 도입합니다. Spring의 메타데이터 지원을 사용하면 소스 코드에 주석을 추가하여 Spring에 위치와 방법을 나타낼 수 있습니다. Aspect 기능을 적용하는 방법.

JDBC 추상화 및 DAO 모듈

JDBC를 사용하면 연결을 얻고 명령문을 생성하고 결과 집합을 처리하는 등 코드가 많이 중복되는 경우가 많습니다. 을 누른 다음 연결을 닫습니다. Spring의 JDBC 및 DAO 모듈은 이러한 중복 코드를 추출합니다. 코드를 사용하면 데이터베이스 액세스 코드를 깔끔하고 간결하게 유지할 수 있으며 데이터베이스 리소스를 닫는 데 실패하여 발생하는 문제를 방지할 수 있습니다.

이 모듈은 또한 여러 데이터베이스 서버에서 제공되는 오류 메시지 위에 의미 있는 예외 레이어를 구축합니다. 더 이상 비밀스러운 개인 SQL 오류 메시지를 해독하려고 하지 마세요!

또한 이 모듈은 Spring의 AOP 모듈을 사용하여 Spring 애플리케이션의 객체에 대한 트랜잭션 관리 서비스를 제공합니다.

객체/관계형 매핑 통합 모듈

JDBC를 직접 사용하는 대신 객체/관계형 매핑 도구를 선호하는 사람들을 위해 Spring은 ORM을 제공합니다. 기준 치수. Spring은 자체 ORM 솔루션을 구현하려고 시도하지 않습니다. 대신 Hibernate, JDO 및 iBATIS SQL 매핑을 포함하여 널리 사용되는 여러 ORM 프레임워크에 대한 통합 솔루션을 제공합니다. Spring의 트랜잭션 관리는 JDBC를 포함한 이러한 ORM 프레임워크 각각을 지원합니다.

Spring의 웹 모듈

웹 컨텍스트 모듈은 애플리케이션 컨텍스트 모듈을 기반으로 구축되어 웹 애플리케이션에 적합한 컨텍스트를 제공합니다. 또한 이 모듈은 일부 서비스 지향 지원도 제공합니다. 예

예: 파일 업로드를 위한 다중 부분 요청 구현 또한 Spring과 Struts 및 WebWork와 같은 기타 웹 프레임워크의 통합을 제공합니다.

Spring의 MVC 프레임워크

Spring은 웹 애플리케이션 구축을 위한 포괄적인 MVC 프레임워크를 제공합니다. Spring은 Struts와 같은 다른 MVC 프레임워크와 쉽게 통합될 수 있지만 Spring의 MVC 프레임워크는 IoC를 사용하여 제어 논리와 비즈니스 개체를 완전히 분리합니다.

또한 요청 매개변수를 비즈니스 객체에 선언적으로 바인딩할 수 있습니다. 게다가 Spring의 MVC 프레임워크는 국제화 정보 및 유효성 검사와 같은 Spring의 다른 서비스도 활용할 수 있습니다.

Spring Framework 웹페이지 코드 깨짐 문제

Java 웹 프로젝트를 하다 보면 코드 깨짐 문제가 자주 발생하고 해결 방법도 다릅니다. 간단한 것과 복잡한 것이 있는데, Spring 프레임워크를 추가하면 달라집니다. Spring 프레임워크와 함께 제공되는 CharacterEncodingFilter를 사용할 수 있는데, 이는 작업 부하를 크게 줄일 수 있고 간단하고 편리하며 이해하기 쉽습니다.

위 내용은 스프링 프레임워크란?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿