본문으로 바로가기

Spring 이론(재) - 스프링 기본 구성

category 웹/Spring 2019. 7. 22. 15:02

스프링 MVC 프로젝트 기본 구성

Presentation <-> Business <-> Persistence 

 

  • Presentation: 화면 계층으로 화면에 보여주는 기술입니다. 스프링 MVC와 JSP를 이용한 화면구성이 이에 속합니다.
  • Business: 순수한 비지니스 로직을 담고 있습니다. 고객의 원하는 요구사항을 반영합니다. 주로 Service로 구성되고 메서드 이름은 고객들이 사용하는 용어 그대로 사용합니다.
  • Persistence: 영속계층으로 데이터를 어떤 방식으로 보관하고 사용하는지에 대한 설계가 들어갑니다. DB로써 Mybatis를 이용하는 영역에 속합니다.

즉 Spring MVC 부분은 servlet-context.xml 이나 root-context.xml 설정을 통한 영역이며 

 

Spring Core부분은 의존 주입을 이용해서 객체 간의 연관 구조를 완성하는 영역이고

 

Mybatis는 spriing-mybatis를 이용해서 SQL에 대한 처리를 담당하는 영역입니다.

 


명명(Name rule)

  • xxxController: 컨트롤러 클래스 설계 명칭
  • xxxService, xxxServiceImpl: 서비스 인터페이스와 서비스 구현 부를 명칭 
  • xxxDAO, xxxRepository, xxxMapper: DB와 연관이 있는 클래스
  • xxxVO, xxDTO: 데이터를 담는 객체, 두 개의 차이점은 VO는 불변(읽기 용도), DTO는 데이터 수집 용도(로그인, 변함)

나만의 설계 순서

  1. 프로젝트를 위한 요구사항을 분석한다. (고객은 로그인 화면에 무엇을 필요로 한다. 등등)
  2. 요구사항에 따른 화면과 시나리오(흐름)을 설계한다.(URL과 화면 구성, 그리고 GET/POST 까지 정해둡니다.)
  3. 데이터베이스 설정을 진행한다. ( Mybatis, JDBC 연결 등등)
  4. 영속계층의 설계를 진행한다.
    1. VO 클래스 생성
    2. 마이바티스 메퍼 인터페이스를 작성하고 mapper.xml을 작성한다.(CRUD)
    3. 작성 mapper를 테스트해본다.
  5. 비지니스 계층의 설계를 진행한다.
    1. "물건을 구매한 회원에게 포인트를 올려준다"
    2. 영속에서는 상품(물건)과 회원을 나누어 설계하지만 비지니스계층에서는 둘다 동시에 설계
    3. 즉 구매 서비스 하나로 설계를 하고 영속계층 안에는 회원 처리 객체와 상품 처리 객체 두개로 나뉜다.
  6. 프레젠테이션 계층(웹) 설계를 진행한다.
    1. 앞서 2에서 설계한 URL과 메소드 방식에 따라 컨트롤러를 작성한다.
    2. View를 통해 화면을 직접 연결시킨다.
  7. 마지막으로 보수를 하며 흐름 상 문제나 요구사항에 부합하지 않는 부분은 다시 살펴본다.

 

' > Spring' 카테고리의 다른 글

Spring 이론(응용) - ORACLE 페이징처리  (0) 2019.08.17
Spring 이론(응용) - ORACLE 페이징처리  (0) 2019.08.10
Spring 이론(재) - AOP  (0) 2019.07.21
Spring 이론(재) - controller  (0) 2019.07.20
Spring 이론(재) - MVC구조  (0) 2019.07.18