모음/[스프링 퀵스타트]
[스프링 퀵스타트] Day1 - chapter2. 프레임워크 개요 (v2023)
ttoance
2023. 11. 15. 07:00
2.1.3 자바 기반의 프레임워크
처리 영역 | 프레임워크 | |
Presentation | Struts |
Struts 프레임워크는 UI Layer에 중점을 두고 개발된 MVC(Model View Controller) 프레임워크이다.
|
Spring (MVC) |
Struts와 동일하게 MVC 아키텍처를 제공하는 UI Layer 프레임워크이 다. 하지만 Struts처럼 독립된 프레임워크는 아니고 Spring 프레임워크 에 포함되어 있다.
|
|
Business | Spring (IoC, AOP) |
Spring은 컨테이너 성격을 가지는 프레임워크이다. Spring의 IoC와 AOP 모듈을 이용하여 Spring 컨테이너에서 동작하는 엔터프라이즈 비 즈니스 컴포넌트를 개발할 수 있다. |
Persistence | Hibernate or JPA |
Hibernate는 완벽한 ORM(Object Relation Mapping) 프레임워크 이다. ORM 프레임워크는 SQL 명령어를 프레임워크가 자체적으로 생성 하여 DB 연동을 처리한다. JPA는 Hibernate를 비롯한 모든 ORM의 공통 인터페이스를 제공하는 자바 표준 API이다. |
Ibatis or Mybatis |
Ibatis 프레임워크는 개발자가 작성한 SQL 명령어와 자바 객체(VO 혹 은 DTO)를 매핑해주는 기능을 제공하며, 기존에 사용하던 SQL 명령 어를 재사용하여 개발하는 차세대 프로젝트에 유용하게 적용할 수 있다. Mybatis는 Ibatis에서 파생된 프레임워크로서 기본 개념과 문법은 거의 같다. |
2.2.2 스프링 프레임워크의 특징
스프링의 특징은 "IoC와 AOP를 지원하는 경량의 컨테이너 프레임워크"로 표현할 수 있다.
1) 경량 :
- 여러 개의 모듈로 구성되어 있으며, 각 모듈은 하나 이상의 jar파일로 구성되어 있다. 이 jar파일만 있으면 개발과 실행이 모두 가능하다.
- POJO(Plain Old Java Object)형태의 객체를 관리한다.
2) 제어의 역행 (Inversion of Control) :
- 소스에 의존관계가 명시되지 않으므로 결합도가 떨어져서 유지보수가 편리해진다.
3) 관점지향 프로그래밍
- 공통으로 사용하는 기능들을 외부의 클래스로 분리하고, 해당 기능을 프로그램 코드에 직접 명시하지 않고 선언적으로 처리하여 적용하는 것이 관전지향 프로그래밍의 기본 개념이다.
4) 컨테이너
- 애플리케이션 운용에 필요한 객체를 생성하고 객체 간의 의존관계를 관리한다는 점에서 일종의 컨테이너라고 할 수 있음
cf) 서블릿 컨테이너의 작동 순서
1) WEB-INF/web,xml 파일을 로딩하여 구동
2) 브라우저로부터 /hello.do 요청 수신
3) hello.HelloServlet 클래스를 찾아 객체를 생성하고 doGet( ) 메소드 호출
4) doGet() 메소드 실행 결과를 클라이언트 브라우저로 전송
https://www.yes24.com/Product/Goods/29173715
이 책 2장을 읽고 정리한 글입니다.
반응형