카테고리 없음

Spring

 

Spring

 

Spring은 또 다른 주류인 Java Web 개발 프레임워크로서, 이 프레임워크는 하나의 경량급 애플리케이션 프레임워크로서 높은 응집력과 흡인력을 가지고 있습니다.Spring 프레임워크는 강력한 기능과 뛰어난 성능으로 많은 개발 인력들에게 사랑 받고 있습니다.

Spring은 계층화된 Java SE/EE full-stack 경량급 오픈 소스 프레임으로 IoC(Inverse of Control, 제어 반전)와 AOP(Aspect Orient Programming(접면 프로그래밍)은 내핵이며, 기본적인 JavaBean을 사용하여 이전에 EJB에서만 수행할 수 있었던 작업을 수행함으로써 EJB의 비대화와 비효율적인 개발 모델을 대체합니다.

실제 개발에서는, 통상 서버단에서는 표현층(web), 업무 논리층(service), 지구층(dao)의 3층 체계 아키텍처를 채용하고 있다.

Spring은 각 층에 대해 기술 지원을 제공하고, 표현층에는 Struts2 프레임워크와의 통합을 제공하며, 업무 논리층에서는 사무와 기록 일지 등을 관리할 수 있으며, 지구층에서는 Hibernate 와 Jdb를 통합할 수 있다.e 등의 기술.

설계상 Spring 프레임워크는 Java 프로그래머에게 더 높은 자유도를 주고 업계의 흔한 문제에도 좋은 해결책을 제공하므로 오픈 소스 커뮤니티에서 폭넓은 인기를 얻고 있으며 대부분의 회사에서 Java 프로그램 개발의 최우선 순위로 삼고 있습니다.틀.

Spring 은 간단하고 테스트가능 및 송연합과 같은 특징을 가지고 있으며 서버단뿐만 아니라 어떤 Java 애플리케이션 개발에도 응용될 수 있습니다.Spring 프레임워크의 주요 이점은 구체적으로 다음과 같습니다.
1) 커플링이 간편하고 개발 간소화
Spring 은 바로 하나의 큰 공장으로서, 모든 대상의 창설과 의존 관계의 유지 보수를 Spring 에게 맡길 수 있습니다.
2) 다양한 우수한 프레임을 편리하게 통합
Spring은 여러 가지 우수한 오픈 소스 프레임워크를 배제하지 않으며, 그 내부에서 여러 가지 훌륭한 프레임워크(예: Struts2, Hibernate, MyBatis 등)에 대한 직접적인 지원을 제공합니다.
3) Java EE API 사용의 난이도 감소
Spring은 Java EE 개발에서 매우 사용하기 어려운 일부 API(JDBC, JavaMail, 원격 튜닝 등)에 대해 봉인을 제공하여 이러한 API 애플리케이션의 난이도를 크게 낮춥니다.
4) 편의 프로그램의 테스트
Spring 지원 JUnit4는 주해를 통해 간편하게 Spring 프로그램을 테스트할 수 있습니다.
5) AOP 프로그래밍 지원
Spring은 단면 프로그래밍을 지향하여 프로그램에 대한 권한 차단과 운영 모니터링을 간편하게 구현할 수 있는 기능을 제공합니다.
6) 성명식 실무지원
수동 프로그래밍 없이 배치만으로 업무에 대한 관리를 수행할 수 있습니다.

 

Spring 프레임워크는 계층화된 아키텍처를 사용하여 서로 다른 기능에 따라 여러 모듈로 구분되며, 이러한 모듈들은 대개 Data Access/Integration, Web, AOP, Aspects, Messaging, Instrument와 같이 분할됩니다.
Spring의 체계적인 구조
그림 1 Spring의 체계적인 구조

그림 1에는 스프링 프레임의 모든 모듈이 포함되어 있으며, 이러한 모듈들은 모든 엔터프라이즈급 애플리케이션 개발의 수요를 충족하고 개발 과정에서 필요한 모듈을 필요에 따라 선별적으로 사용할 수 있습니다.이들 모듈의 역할에 대해 각각 간략히 소개합니다.
1. Data Access/Integration(데이터 접근/통합)
데이터 접근/집적 계층에는 JDBC, ORM, OXM, JMS 및 Transactions 모듈이 포함되어 있으며, 구체적으로는 다음과 같습니다.
JDBC 모듈: JDBC의 추상층 하나를 제공함으로써 개발 과정에서 데이터베이스 조작에 대한 인코딩을 대폭 줄였습니다.
ORM 블록: 유행하는 대상 관계 맵핑 API에 대해 JPA, JDO, Hibernate 와 iBatis가 제공하는 집적 계층이 포함됩니다.
OXM 블록: JAXB, Castor, XMLBeans, JiBX 및 Xstream과 같은 하나의 지원 대상/XML 맵을 제공합니다.
JMS 모듈: Java 소식 서비스를 가리키며, 포함된 기능은 생산과 소비를 위한 정보입니다.
Transactions 사무 모듈: 프로그래밍과 성명식 사무 관리가 특수 인터페이스류를 구현하고 모든 POJO를 위해 수행되도록 지원합니다.
2. Web 블록
Spring 의 Web층에는 Web , Servlet , Struts , 그리고 Portlet 패킷이 포함되어 있으며, 구체적으로는 다음과 같습니다.
웹 모듈: 멀티파일 업로드 기능, 사용된 Servlet 감청기의 IoC 용기 초기화, 그리고 Web 애플리케이션의 위/아래와 같은 기본적인 Web 개발 집적 특성을 제공합니다.
Servlet 모듈: Spring 모델—보기—컨트롤러(MVC)를 포함하여 Web 응용프로그램을 구현합니다.
Struts 모듈: 지원류 내 Spring 애플리케이션을 포함하여 클래식한 Struts Web 계층을 집적합니다.
Portlet 모듈: Portlet 환경에서 MVC 구현, 유사한 Web-Servlet 모듈을 사용할 수 있는 기능을 제공합니다.
3. 코어 컨테이너(핵심 용기)
Spring 의 핵심 용기는 다른 모듈에 의해 만들어진 기초가 되며, Beans 블럭, Core 핵심 모듈, Context 상하문 모듈과 Expression Language 표현식 언어 모듈로 구성되며, 구체적으로 다음과 같이 소개됩니다.
Beans 모듈: BeanFactory를 제공했으며 공장 모델의 고전적인 구현이며 Spring 관리 대상을 Bean이라고 합니다.
코어 핵심 모듈: 스프링 프레임의 기본 구성 부분을 제공했으며 IoC와 DI 기능을 포함했습니다.
Context 상하문 모듈: 핵심 및 Beans 모듈의 기초 위에 구축되며, 그것은 방문이 어떠한 대상을 정의하고 배치하는 매개체입니다.ApplicationContext 인터페이스는 상위 텍스트 모듈의 초점입니다.
Expression Language 모듈: 실행 시 대상 그림을 조회하고 조작하는 강력한 표현식 언어입니다.
4.기타 모듈
Spring의 다른 모듈들 또한 AOP, Aspects, Instrumentation , 그리고 Test 모듈들이 있는데, 구체적으로는 다음과 같습니다.
AOP 모듈: 방법 차단기와 접점을 정의하고 코드를 기능별로 분리할 수 있도록 단면 프로그래밍 구현을 제공함으로써 커플링을 낮춥니다.
Aspects 블록: AspectJ와의 통합을 제공하는, 강력하고 세련된 대면 프로그래밍(AOP) 프레임워크입니다.
Instrumentation 모듈: 유형 도구의 지원과 유카운터 구현을 제공하여 특정 애플리케이션 서버에서 사용할 수 있습니다.
Test 블록: 스프링 유닛을 지원하고 JUnit 또는 TestNG 프레임을 사용한 테스트.