
지난글에 이어서 스프링 두 번째 글을 쓰려고 한다. 못 보신 분들은
2020/08/29 - [Spring 기본/개념] - [Spring] 기본개념 - 1 간단요약
[Spring] 기본개념 - 1 간단요약
1. Spring Framework - 자바(JAVA) 플랫폼을 위한 오픈소스(Open Source) 경량급 애플리케이션 프레임워크(Framework) - 프레임워크는 뼈대나 근간을 이루는 코드들의 묶음 -> 개발에 필요한 구조를 이미 코드��
practicelee.tistory.com
1. Spring Framework를 구성하는 기능 요소

- Spring AOP : 업무로직과 공통로직을 분리
-
AOP 모듈을 통해 Aspect 지향 프로그래밍을 지원한다.
-
AOP 모듈은 스프링 애플리케이션에서 Aspect를 개발할 수 있는 기반을 지원한다.
-
보안, 인증, 로그 -> 핵심기능과 부가기능이 섞여 있는데 AOP를 적용하면 핵심기능과 부가기능(보안, 인증, 로깅)을 정리 할 수 있음
- Spring ORM : MyBatis, Hibernate, JPA 등 널리 사용 되는 ORM 프레임워크와의 연결고리 제공
-
ORM 제품들을 Spring의 기능과 조합해서 사용할 수 있도록 해준다.
- Spring DAO : JDBC에 대한 추상화 계층
-
JDBC코딩이나 예외처리 하는 부분을 간편화 시켰으며 AOP 모듈을 이용해 트랜잭션 관리 서비스도 제공
- Spring WEB : 웹 애플리케이션의 개발에 필요한 기본적인 기능을 제공
- Spring Core : Spring프레임워크의 기본기능을 제공
-
이 모듈에 있는 BeanFactory는 Spring의 기본 컨테이너이면서 스프링 DI의 기반
- Spring Context : Context 모듈은 BeanFactory의 개념을 확장한 것
-
스프링 코어에서 제공하는 기능을 확장해서 지원
-
국제화 메세지, 애플리케이션 생명주기 이벤트, 유효성 검증등을 지원
- Spring WebMVC : 사용자 인터페이스가 애플리케이션 로직과 분리되는 웹 애플리케이션을 만드는 경우에 일반적으로 사용하는 패러다임
2. Spring Framework 아키텍처 구성요소
아키텍쳐는 대부분의 중 ㆍ 대규모 웹 애플리케이션은 효율적인 개발 및 유지보수를 위하여
계층화 하여 개발하는 것이 일반적이다.
1. 프레젠테이션 계층
-
웹브라우저상의 웹클라이언트의 요청 및 응답을 처리
-
비즈니스 로직과 최종 UI를 분리하기 위한 컨트롤러 기능을 제공
-
@Conteroller 어노테이션을 사용하여 작성된 Controller 클래스가 이계층에 속함
2. 서비스 계층
-
애플리케이션 비즈니스 로직 처리와 비즈니스와 관련된 도메인 모델의 적합성 검증
-
트랜잭션 처리 - 애플리케이션 비즈니스 로직 처리와 비즈니스와 관련된 도메인 모델의 적합성 검증
-
프레젠테이션 계층과 데이터 액세스 계층사이를 연결하는 역할 두계층이 직접적으로 통신하지 않게 하여 애플리케이션의 유연성을 증가
-
다른계층들과 통신하기 위한 인터페이스를 제공
-
@Service 어노테이션을 사용하여 작성된 클래스가 이계층 속함
3. 데이터 액세스 계층
-
영구저장소(관계형 데이터베이스)의 데이터를 조작하는 데이터 액세스 로직을 객체화
-
영구저장소의 데이터를 조회, 등록, 수정, 삭제 함
-
ORM 마이바티스, 하이버네으트를 주로 사용
-
DAO 인터페이스와 @Respository 어노테이션을 사용하여 작성된 DAO 구현 클래스가 이계층에 속함
4. 도메인 모델 클래스
-
관계형 데이터 베이스의 엔티티와 비슷한 개념을 가지는 것으로
-
VO 혹은 DTO 객체에 해당
-
도메인 모델 클래스는 3개의 계층 전체에 걸쳐 사용
-
private으로 선언된 멤버변수가 있고 그변수에 대한 getter와 setter 메서드를 가진 클래스를 말함
'Spring 기본 > 개념' 카테고리의 다른 글
[Spring] Spring Security 기본 개념 요약 -1 (0) | 2020.08.29 |
---|---|
[Spring] 기본개념 - 1 간단요약 (0) | 2020.08.29 |