-
[토비의 스프링 3.1 Vol.1] 9장 스프링 프로젝트 시작하기Java/Spring Framework 2018. 4. 1. 21:55728x90반응형
[사족]
9장의 제목을 정말 잘 선택한거 같다. 스프링 프로젝트를 시작하기 위해서 알아야 할 Tool부터 시작해서 JDK, 환경, 그리고 애플리케이션 아키텍처들에 대한 비교까지. 8장까지 열심히 공부했으면 이제 스프링 프로젝트를 시작할 수 있을 것 같은 기분(?)이 드는 마지막 장이다.
[내용]
9장의 목차
9.1 자바 엔터프라이즈 플랫폼과 스프링 애플리케이션
9.2 개발도구와 환경
9.3 애플리케이션 아키텍처
9.4 정리
스프링으로 어떤 자바 애플리케이션도 개발 가능하다. 하지만 보통 웹 애플리케이션 형태의 서버 개발에 많이 쓰인다고 한다. EJB를 대체하기도 했고, 그만큼 서버 환경에서 필요한 기능들을 많이 지원하고 있기 때문이 아닌가 싶다.
9.3장에서는 애플리케이션 아키텍처들에 대한 비교를 한다. 소제목 위주로 라벨링을 해보았다.
- 계층형 아키텍처
- 3계층 아키텍처와 수직 계층
- 데이터 액세스 계층(DAO 계층)
- 서비스 계층
- 프레젠테이션 계층
- 애플리케이션 정보 아키텍처
- DB/SQL 중심의 로직 구현 방식
- 거대한 서비스 계층 방식
- 오브젝트 중심 아키텍처
- 빈약한 도메인 오브텍트 방식
- 풍성한 도메인 오브젝트 방식
- 도메인 계층 방식
결론은 스프링에 가장 어울리는 아키텍처는 "오브젝트 중심 아키텍처 중에 도메인 계층 방식"이다. 물론 프로젝트의 규모나 명세 등에 따라 다르겠지만 일반적인 선에서 말이다. 하지만 올바르게 설계 하기가 쉽지 않기 때문에 주의가 필요하다고 한다.
끝으로 스프링에서 지원하지 않는 기술들에 대한 접근법을 제시한다. 스프링에서 자바와 관련된 모든 라이브러리나 프레임워크를 지원할 수 없는 것은 당연한 일이다. 지원하지 않더라도 스프링의 철학에 맞게 DI와 서비스 추상화를 잘해서 사용해야 한다.
반응형'Java > Spring Framework' 카테고리의 다른 글
ParameterizedTypeReference (feat. Super Type Token) (0) 2020.11.26 [토비의 스프링 3.1 Vol.1] 부록(스프링 모듈, 스프링 의존 라이브러리) (0) 2018.04.07 [토비의 스프링 3.1 Vol.1] 8장 스프링이란 무엇인가? (0) 2018.03.25 [토비의 스프링 3.1 Vol.1] 7장 스프링 핵심 기술의 응용 (0) 2018.03.23 [토비의 스프링 3.1 Vol.1] 6장 AOP (0) 2018.02.20