본문 바로가기

카테고리 없음

Springframework의 종류

먼저 스프링이란?

스프링이란 java로 다양한 애플리케이션을 만들기 위한 프로그래밍 툴이다.

spring은 중복코드의 사용을 줄여주고, 비즈니스 로직을 더 간단하게 해준다.

또한, 오픈소스를 좀 더 효율적으로 가져다 쓰기 좋은 장점을 가지고 있다.

애플리케이션에서 사용되는 객체의 생성/관리/조립을 지원한다.

의존성을 주입시키고 선언전 트랜잭션 처리를 지원한다.

model2방식의 웹 애플리케이션 개발을 지원하는 spring MVC 모듈을 지원한다.

다양한 데이터베이스 엑세스 지원 프레임워크와의 연동과 테스트케이스의 구현 및 실행을 지원한다.

 

Spring Framework란

자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서

대규모 데이터 처리와 트랜잭션이 동시에 여러 사용자로부터 행해지는 개발을 위한 모든 기능을

종합적으로 제공하는 경량화된 솔루션이다.

 

Spring Framework는 경량 컨테이너로 자바 객체를 담고 직접 관리한다.

객체의 생성 및 소멸 그리고 라이프사이클을관리하며 

언제든 spring 컨테이너로부터 필요한 객체를 가져와 사용할 수 있다.

 

스프링의 핵심 기능인 DI와 AOP기능을 제공한다.

웹 애플리케이션을 개발할 때 사용하는 스프링 MVC, 스프링 ORM 등의 기능도 포함되어 있다.

 

1. 스프링 부트 (Spring Boot)

스프링은 개발 환경 설정이 까다롭다... (어쩐지)

그래서 이런 스프링의 단점을 보완하고자 스프링 부트가 나왔다. (근데 이것도 마찬가지로 힘들던데..)

스프링 부트는 필요한 환경 설정을 최소화하고 개발자가 비즈니스 로직에 집중할 수 있도록 도와줌으로써

생산성을 향상시킬 수 있다.

 

2. 스프링 클라우드 (Spring Cloud)

스프링 클라우드는 서비스 레지스트리(Service Registry)와 컨피규레이션 서버(Configuration server),

서킷 브레이커(circuit breaker), 클라우드 버스(cloud bus), OAuth2 패턴, API 게이트웨이와 같은

마이크로서비스 기반 아키텍처에서 사용되는 모든 검증된 패턴을 구현한다. (무슨 말인지 모르겠다)

스프링 부트 프로젝트와 스프링 클라우드를 사용하면 반복적인 작업을 피할 수 있고

고품질의 안정적인 마이크로서비스 기반 분산 시스템을 빠르게 구축하고 적은 시간과 노력으로

시스템을 지속 변화시킬 수 있다.

 

3. 스프링 데이터 (Spring Data)

데이터 연동을 위한 단일 API를 제공하며, 이 API를 기반으로 JPA, MongoDB, Neo4j, Redis 등

RDBMS와 NoSQL과의 연동을 적은 양의 코드로 처리할 수 있다.

 

4. 스프링 시큐리티 (Spring Security)

인증과 허가에 대한 기반 프레임워크 및 관련 모듈을 제공한다.

웹 애플이케이션을 위한 보안을 간단한 설정과 약간의 코드 구현으로 처리할 수 있다.

 

5. 스프링 세션 (spring session)

사용자의 세션 정보를 관리하기 위한 API 및 구현을 제공한다.

 

6. 스프링 인터그레이션 (Spring intergration)

시스템 간의 연동을 위한 메시징 프레임워크를 제공ㅎ나다.

 

7. 스프링 HATEOAS 

spring MVC로 작업할 때 HATEOAS 원칙을 따르는 REST 표현을 쉽게 생성할 수 있도록 몇 가지 API를 제공한다.

 

8. 스프링 REST (Spring REST Docs)

RESTful 서비스를 문서화하는데 도움을 준다. 

Asciidoctor로 작성된 수기 문서와 spring MVC 테스츠로 생성된 자동 생성 스니펫을 결합한다.

이 접근 방식을 사용하면 스웨거와 같은 도구로 생성된 문서의 한계를 보완할 수 있다.

정확하고 간결하며 잘 구조화된 문서를 생성하는 데 도움이 된다는 말이다. (음.... 스웨거? ASSSS머?)

이 문서를 통해 사용자는 최소한의 번거로움으로 필요한 정보를 얻을 수 있다 ???? 엥

 

9. 스프링 배치 (Spring Batch)

배치 처리를 위한 기반 프레임워크를 제공한다.

데이터 처리, 흐름제어, 실패 재처리 등 배치 처리 애플리케이션이 필요로 하는 기능을 제공한다.

배치가 뭐지..?

 

10. 스프링 AMQP

핵심 스프링 개념을 AMQP 기반 메시징 솔루션 개발에 적용한다.

메시지 송수신을 위한 고급 추상화로 템플릿을 제공한다.

또한 수신기 컨테이너를 사용하여 메시지 기반 POJO를 지원한다.

이러한 라이브러리는 AMQP 리소스 관리를 용이하게 하는 동시에 종속성 주입 및 선언적 구성의 사용을 촉진한다.

 

11. 스프링 안드로이드 

안드로이드 용 스프링은 안드로이드 앱에서 사용할 스프링 프로젝트의 제품군의 구성 요소를 제공하도록 설계된

프레임워크다. 

 

12. 스프링 크리드허브 (Spring CredHub)

Cloud Foundry 플랫폼에서 실행되는 CredHub 서버에서 자격 증명을 저장, 검색 및 삭제하기 위한

클라이언트 측 지원을 제공한다.

CredHub는 다양한 유형의 자격 증명을 안전하게 저장, 생성, 검색 및 삭제할 수 있는 API를 제공한다.

 

13. 스프링 플로 (Spring Flo)

파이프라인 및 간단한 그래프를 위한 기본 임베드 가능한 HTML5 비주얼 빌더를 제공하는

자바스크립트 라이브러리다. 

이 라이브러리는 Spring Cloud Data Flow에서 스트림 빌더의 기반으로 사용된다.

Flo에는 커넥터, 제어 노드, 팔레트, 상태 전환 및 그래프 토폴로지와 같은 통합 흐름 디자이너의

모든 기본 요소가 들어있다.

 

14. 스프링 아파치 카프카 (spring for Apache Kafka)

핵심 스프링 개념을 kafka 기반 메시징 솔루션 개발에 적용한다.

메시지 전송을 위한 고급 추상화로 템플릿을 제공한다.

또한 @KafkaListener 어노테이션 및 리스터 컨테이너를 사용하여 메시지 기반 POJO에 대한 지원을 제공한다.

 

15. 스프링 LDAP 

스프링 jdbc와 동일한 원칙을 기반으로 구축된 자바로 LDAP 프로그래밍을 단순화하는 라이브러리다.

 

16. 스프링 모바일

스프링 웹 사이트에 요청하는 디바이스 유형을 감지하고

해당 디바이스를 기반으로 대체보기를 제공하는 기능을 제공한다.

 

17. 스프링 로 (Spring Roo)

즉각적인 결과를 빠르고 쉽게 제공할 수 있는 경량 개발자 도구다.

무엇보다 자바로 100% 코딩하고 기존 자바지식, 기술 및 경험을 모두 재사용할 수 있다.

 

18. 스프링 쉘

 

19. 스프링 상태기계

 

20. 스프링 금고

 

21. 스프링 웹 플로우

 

22. 스프링 웹 서비스

 

https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=dktmrorl&logNo=222131067633&categoryNo=48&parentCategoryNo=0&viewDate=&currentPage=1&postListTopCurrentPage=1&from=section 

 

[Java] Spring - 스프링 프로젝트 종류

스프링 프로젝트(Spring Project) 스프링 프레임워크(Spring Framework)는 자바(Java) 개발자라면 반...

blog.naver.com