jsp spring

스프링(SPRING)프레임워크 기초이론 정리요약!

유교주 2023. 12. 14. 16:27
728x90
반응형

백엔드개발자가 많이사용하며, 기업에서 많이사용하는 스프링에대해서 알아보자.

프레임워크란 무엇이며 장점은 뭘까?

프레임워크는 사전적 의미로는 본체를 구성하는 구조 또는 뼈대라 하며, 소프트웨어적으로는 클래스나 인터페이스로 기능을 구현해놓은 반숙된 계란이라고 보면 된다. 이미 구현되있는 기능이기때문에 개발의 생산성과 품질및 기능이 일정보장이되며, 개발 후 유지보수가 용이하다.

그렇다면 스프링프레임워크는 뭐고 특징은 무엇일까?

-스프링프레임워크는 자바 웹 어플 개발을 위한 오픈소스 프레임워크이다. 엔터프라이즈 자바 빈즈(EJB)보다는 경량화된 프레임워크이다.

-이전에 JSP에서 사용했던 톰캣을 서블릿 컨테이너라고 부른다, 톰캣을 실행하게 되면 서블릿을 생성하고, 초기화하고, 실행하고, 삭제시키고 권한을 가져가서 서블릿을 관리하는데 스프링도 마찬가지고 스프링이 권한을 가지고 직접관리한다. 이것을 컨테이너라고 부른다.

-스프링은 서블릿,빈 같은것을 개발자가 생성하지않고 프레임워크가 수행하는 제어역행기술(IoC)을 이용한다

-스프링은 객체를 개발자가 생성하지않고 프레임워크가 수행하는 의존성주입기능(DI)을 이용한다.

-부수 기능을 따로 구현하면서 모듈성을 높이는 관점지향기능(AOP)을 이용한다.

-많은 라이브러리의 연동이가능하며 영속성과 관련된 다양한 서비스를 지원한다.

스프링프레임워크 주요기능 박스 및 설명 출처 ( https://shlee0882.tistory.com/200 )

Core 컨테이너

Core 컨테이너는 Spring프레임워크의 기본기능을 제공한다. 이 모듈에 있는 BeanFactory는 Spring의

기본 컨테이너이면서 스프링 DI의 기반이다.

Context

Context모듈은 BeanFactory의 개념을 확장한 것으로 국제화(I18N) 메시지, 애플리케이션 생명주기 이벤트,

유효성 검증을 지원한다.

DAO

DAO 패키지는 JDBC에 대한 추상화 계층으로 JDBC 코딩이나 예외처리 하는 부분을 간편화 시켰으며, AOP 모듈을

이용해 트랜젝션 관리 서비스도 제공한다.

ORM

Mybatis, Hibernate, JPA 등 널리 사용되는 ORM 프레임워크과의 연결고리를 제공한다.

ORM 제품들을 Spring의 기능과 조합해서 사용할 수 있도록 해준다.

AOP

AOP 모듈을 통해 Aspect 지향 프로그래밍을 지원한다.

AOP 모듈은 스프링 애플리케이션에서 Aspect를 개발할 수 있는 기반을 지원한다.

Web

일반적인 웹 애플리케이션 개발에 필요한 기본기능을 제공하고, Webwork나 Struts와 같은

다른 웹어플리케이션 프레임워크와의 통합을 지원한다.

WebMVC

MVC(Model/View/Controller) 패러다임은 사용자 인터페이스가 애플리케이션 로직과

분리되는 웹 애플리케이션을 만드는 경우에 일반적으로 사용되는 패러다임이다. 이 패러다임을 바탕으로

웹 계층에서 결합도를 낮추는 Spring MVC 프레임워크가 있다.

728x90
반응형