스프링 프레임워크 편집하기

IT위키

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
[[분류:디지털 서비스]][[분류:공개 소프트웨어]]
[[분류:디지털 서비스]]
[[분류:공개 소프트웨어]]
 
;Spring Framework
;Spring Framework
;EJB 기반의 복잡함과 무거움을 극복하고 개발 생산성 향상과 고품질의 시스템 개발을 위한 자바 플랫폼 상의 경량화된 오픈소스 웹 어플리케이션 프레임워크
;EJB 기반의 복잡함과 무거움을 극복하고 개발 생산성 향상과 고품질의 시스템 개발을 위한 자바 플랫폼 상의 경량화된 오픈소스 웹 어플리케이션 프레임워크
* 기존 기업용 시스템을 개발할 때 사용되던 Java Enterprise Edition을 시장에서 대체
* 안정성과 유연성이 입증되어 전자정부 표준 개발 프레임워크의 핵심 근간으로 활용


== 역사 ==
*기존 기업용 시스템을 개발할 때 사용되던 Java Enterprise Edition을 시장에서 대체
* 2004년 3월에 첫번째 버전인 스프링 프레임워크 1.0 릴리즈
*안정성과 유연성이 입증되어 전자정부 표준 개발 프레임워크의 핵심 근간으로 활용
* 현재 최신버전은 [[스프링 프레임워크 5.0]]
 
==역사==
 
*2004년 3월에 첫번째 버전인 스프링 프레임워크 1.0 릴리즈
*현재 최신버전은 [[스프링 프레임워크 5.0]]
 
==특징==
 
*단순화된 테스팅: 의존성 주입 이용, 단위테스트 간소화
*복잡한 코드 감소: 예외처리 등을 포함한 사전 정의 로직 이용
*아키텍처 유연성: 독립적으로 구성된 모듈 이용
*최신 트렌드 반영: 최신 자바, 최신 아키텍처, 객체지향 기법 등 적용
 
==주요 기능==
 
*'''[[의존성 주입|의존성 주입(Dependency Injection)]]'''
**각각의 계층이나 서비스들 간에 의존성 존재할 경우 프레임워크가 상호 연결시켜줌
**XML 파일을 통한 환경설정
*'''제어 반전(Inversion of Control)'''
**컨트롤의 제어권이 프레임워크에 존재
**스프링에서 사용자 코드 호출 가능
*'''트랜잭션 관리(Transaction Management)'''
**로컬/글로벌 트랜잭션 구분 없는 일관된 프로그래밍 모델 제공
**트랜잭션 API에 의존성을 갖지 않는 추상화된 트랜잭션
*'''객체 관리(Object Management)'''
**컨테이너에서 직접 객체 관리(생성/소멸)
**개발자의 객체 생성 및 소멸 관리 부담 감소
*'''[[관점 지향 프로그래밍|관점 지향 프로그래밍(AOP)]]'''
**여러 모듈에서 공통적으로 사용하는 기능의 분리 지원
**추상화된 트랜잭션 관리, 로깅, 보안 등의 공통 기능 활용
*'''영속성'''
**데이터베이스 처리 라이브러리와 인터페이스 제공
**JDBC, iBatis, Hibernate 등에 대한 지원
 
==관련 프로젝트==


== 특징 ==
*[[스프링 부트]]
* 단순화된 테스팅: 의존성 주입 이용, 단위테스트 간소화
*[[스프링 클라우드]]
* 복잡한 코드 감소: 예외처리 등을 포함한 사전 정의 로직 이용
*[[스프링 클라우드 데이터 플로]]
* 아키텍처 유연성: 독립적으로 구성된 모듈 이용
*[[스프링 데이터]]
* 최신 트렌드 반영: 최신 자바, 최신 아키텍처, 객체지향 기법 등 적용
*[[스프링 배치]]
*[[스프링 시큐리티]]
*[[스프링 HATEOAS]]


== 주요 기능 ==
==참고 문헌==
* '''[[의존성 주입|의존성 주입(Dependency Injection)]]'''
** 각각의 계층이나 서비스들 간에 의존성 존재할 경우 프레임워크가 상호 연결시켜줌
** XML 파일을 통한 환경설정
* '''제어 반전(Inversion of Control)'''
** 컨트롤의 제어권이 프레임워크에 존재
** 스프링에서 사용자 코드 호출 가능
* '''트랜잭션 관리(Transaction Management)'''
** 로컬/글로벌 트랜잭션 구분 없는 일관된 프로그래밍 모델 제공
** 트랜잭션 API에 의존성을 갖지 않는 추상화된 트랜잭션
* '''객체 관리(Object Management)'''
** 컨테이너에서 직접 객체 관리(생성/소멸)
** 개발자의 객체 생성 및 소멸 관리 부담 감소
* '''[[관점 지향 프로그래밍|관점 지향 프로그래밍(AOP)]]'''
** 여러 모듈에서 공통적으로 사용하는 기능의 분리 지원
** 추상화된 트랜잭션 관리, 로깅, 보안 등의 공통 기능 활용
* '''영속성'''
** 데이터베이스 처리 라이브러리와 인터페이스 제공
** JDBC, iBatis, Hibernate 등에 대한 지원


== 관련 프로젝트 ==
*[https://parkcheolu.tistory.com/35 스프링의 트랜잭션 관리]
* [[스프링 부트]]
*스프링 5.0 마스터(에이콘 출판)
* [[스프링 클라우드]]
* [[스프링 클라우드 데이터 플로]]
* [[스프링 데이터]]
* [[스프링 배치]]
* [[스프링 시큐리티]]
* [[스프링 HATEOAS]]


== 참고 문헌 ==
== 참고 자료 ==
* [https://parkcheolu.tistory.com/35 스프링의 트랜잭션 관리]
<nowiki>*</nowiki> 관련 교육기관 : http://kgitcoding.co.kr
* 스프링 5.0 마스터(에이콘 출판)
IT위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 IT위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소 편집 도움말 (새 창에서 열림)