spring 프레임워크 개요

bacccine·2022년 6월 2일
0

spring

목록 보기
1/10

spring이란?

로드존슨이 출판한 도서에서 근간이 되어 현재까지 널리 사용되고 있는 자바 기반 프레임워크
Java 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크
엔터프라이즈 환경을 목표로 특정 계층이나 기술에 국한되지 않은 범용적인 프레임워크

① 애플리케이션 프레임워크
특정 계층이나 분야에 국한되지 않고 애플리케이션의 전 영역을 포괄하는 범용적인 프레임워크

② 경량급 프레임워크
단순한 웹 컨테이너에서도 엔터프라이즈 개발의 고급기술을 대부분 사용 가능

③ 엔터프라이즈 개발 용이
개발자가 복잡하고 실수하기 쉬운 Low Level에 많이 신경쓰지 않으면서 Business Logic 개발에 전념할 수 있도록 해줌

④ 오픈소스
오픈소스의 장점을 취하면서 오픈소스의 단점과 한계를 잘 극복함

spring의 역사

ejb를 주 프레임워크로 사용할 때 불편했던 점을 해소하기 위함
로드존슨이 2002년에 ejb없이 웹을 잘 개발할 수 있다고 저서를 내었다
이를 읽은 개발자들이 책으로만 존재하기엔 코드가 너무 아깝다고 프레임워크로 발전시킨 것

spring framework 특징

V 표시는 스프링의 대표적인 특징을 의미한다
V ① 컨테이너 역할: Java 객체의 Life Cycle을 관리하며 Spring 컨테이너로부터 필요한 객체를 가져와 사용할 수 있다

② DI(Dependency Injection) 지원: 설정 파일이나 어노테이션을 통해서 객체 간 의존관계를 설정할 수 있다

V ③ AOP(Aspect Oriented Programming) 지원: 트랜잭션이나 로깅,보안같이 공통적으로 필요로 하는 모듈들을 실제 핵심 모듈에서 분리해 적용할 수 있다

④ POJO(Plain Old Java Object) 지원: Spring 컨테이너에 저장되는 Java 객체는 특정 인터페이스를 구현하거나 클래스를 상속받지 않아도 된다

⑤ 트랜잭션 처리를 위한 일관된 방법을 지원: 어떤 트랜잭션을 사용하던, 설정을 통해 정보를 관리하므로 트랜잭션 구현에 상관없이 동일한 코드 사용 가능

⑥ 영속성(Persistence)과 관련된 다양한 API 지원: 데이터베이스 처리를 위한 ORM(Object Relational Mapping) 프레임워크들과의 연동을 지원한다

V ⑦ 서비스를 추상화시킨다

spring의 주요 모듈

① Data Access/Integration: 기본적으로 transaction 기반. JDBC,ORM,JMS(메시징 기능),OXM(xml)

② Web: POJO를 지향하기 때문에 기존 기술을 추상화시켜서 만들어 놓았다. Web Socket,Servlet,Web,Portlet

③ Core Container: spring container. Beans,Core,Context,SpEL. 컨테이너 위에 객체가 올라가면 이를 Bean이라하는데 Bean을 관리한다

0개의 댓글